glance refactor

this refactor of glance does three things:

* makes the backend pluggable and adds support
for a swift backend.
* removes repetitive glance_* prefixes from
variables.
* updates the openstack::controller class to use
these new glance params

Change-Id: Id88163283340d25b9b79fbdb8ba2ddd043fd363a
Configure db_host

TODO - Daneyon, why exactly is this required?

Previously an option called db_host existed in
the db/mysql class, but it wasn't actually used.

This commit updates the databases created to
specify what host the db resides on.

This commit also adds some basic unit tests for
openstack::db::mysql.
refactor quantum configuration

TODO - update unit tests

add special openstack::quantum manifest that can
be used to configure various quantum roles.

nova::controller changes:

* remove quantum code from nova::controller
(b/c it is not part of that role)
* specify that the private and public interface
must be set when using nova-networking in the
nova::controller (this is b/c they are no longer
required to be passed into the openstack::controller
b/c quantum does not need them)

openstack::controller changes:
* configure quantum when configured to do so
* remove quantum password defaults (but make them
required when network mode is quantum)
* add keystone host (it is used by cinder and
quantum anyways and needs to be set)

openstack::compute changes:
* set quantum default to true (should it really be
set to true)
* add parameters that allow the dhcp/metadata/l3
/ovs plugins to be set on compute hosts (for HA)
* add parameters for configuring quantum's database
* add a param for configuring the l3 keystone auth
* add bridge_interface param
* specify that quantum host and db_password are
required when quantum is configured
* reconfigure it to use open sack::quantum
* add db_name, host, etc.. params
* set default rabbit password to something not
nova specific (b/c now its used by other components)
remove sql_connection param from compute

This commit removes the sql_connection param
and replaces it with individual params.

This makes it easier for multiple db connections
to reuse the same values + its more consistent with
other params in this module.

This commit also contains some harmless moving
around of parameters.
refactor db deps

I really want to see all of these nasty deps
removes, but it will take some time to
understand why they are even there in the first
place.
add nova-conductor

Adds the nova conductor service to the nova
controller. This service is now a requirement for
grizzly.

this commit is known to break folsom compatibility.
do not set a default for cinder db password

This commit updates the cinder controller class
to unset a database password default.

We previously decided that default password should
not be provided b/c they can silently make
peoples environment insecure.
add quantum host parameter

the code currently things that qantum will always be
on the same node as keystone (which is obviously
not true)

Change-Id: Idb4852a8f0036f05c3bc4443f87a59cafd0785b4
add security rules to qemu file for quantum

I am completely unsure if this is only required
when using qemu (or under what conditions it is required)

Change-Id: I5a2c737a9cdce0695e7029152bfbd3f8d04a53d9