Tool to quickly deploy openstack dev environments

# Todo

* Add python-novaclient cli support
* move keystone/glance/dash to mysql
* syslog
* check openstack-puppet recipes to see if anything else is missing
* allow rabbit connection to be specified via environment variables with sensible defaults
* Add volume support
* allow changing of git locations (specify different tag/branch or repos)
* change method of invoking stack.sh to ./stack.sh all _or_ ./stack.sh nova-compute,nova-network,nova-api,nova-volume
* Add quantum support

# Done

* sqlconn can be set via env
* move back to using sudo
* move nova to mysql
* munin
* extract image upload to a seperate script that supports generating images via debootstrap (ubuntu-vm-builder?)

# 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?
