Changes I needed to build my cloud

Here are some changes that I made in order to build a cloud using your playbook. Overall it went really well, and I have some generally useful (well, I hope so) changes. Mostly, these changes were necessary to make running the playbook more robust in the case that a previous run had failed and the system was in a half-configured state.

Things of note:

* Support for static or dhcp bridge configuration
* Check if services are already registered
* Check if db is already initialized
* Check if repo packages are already installed