Tool to build (nfs export) openstack dev environments

# Todo

* change method of invoking stack.sh to ./stack.sh all _or_ ./stack.sh nova-compute,nova-network,nova-api,nova-volume
* move back to using sudo
* move to mysql
* Create and upload images
* Add volume support
* Add quantum support
* Add python-novaclient cli support
* allow changing of git locations (specify different tag/branch or repos)
* allow sql/rabbit connection to be specified via environment variables with sensible defaults

# Future

* idea: move from screen to tmux?
* idea: create a live-cd / vmware preview image using this?
* idea: use lxc to make the proto-image have everything?  so launching a new server is just turn on / updating / run?
