convert virt drivers to fully dynamic loading

Progress on bp:virt-driver-cleanup

This series of patches converts the virt drivers to loading via
importutils making it possible to add a virt driver without changing
core code. It deprecates the use of connection_type in favor of a
full driver name in compute_driver.

Based on email thread with Vish and Jay Pipes on approaches to do
this.

Change-Id: I48366ec7efc7b095859988e5e6ac5a853b98b8a7
blueprint <multi-process-api-service>

Add multiprocess support for API serivces (EC2/OSAPI_Compute/OSAPI_Volume/Metadata).

2012-06-1 v7:
    * Add unittest to cover worker recovery, service termination functionality
    in wsgi.py, fix python 2.6 compatibility issue.
    * Modify generate_uid() to introduce per-process seeds in utils.py to avoid
    collisions.
    * Add worker session to nova.conf.sample.
2012-05-21 v6:
    * Fix 'test_wsgi' unittest error.
2012-04-28 v5:
    * Add SIGINT handler and fix child-parent race condition when Ctrl+C is
    pressed.
2012-03-31 v4:
    * Fixed typo, removed debug code.
2012-03-30 v3:
    * Fixed localization/pep8 error in unittest, add metadata test.
    * nova/wsgi.py:Server: use the greenthread pool created for each process.
    * nova/service.py: remove debug code
2012-03-27 v2:
    * Fixed unittest error.
    * nova/wsgi.py:Server: Use self._logger to do logging in multiprocess mode.
    * nova/wsgi.py:Server: Move self._pool creation into proper place.
    * code style fix.
2012-03-25 v1:
    * Modification to nova/service.py and nova/wsgi.py in order to support
    multiprocess (a.k.a. workers) for various API services.  If multiprocess
    mode is enabled, (i.e. flags 'APINAME_workers' set to positive numbers),
    corresponding API service will run in target number of process(es). There
    is also a master_worker process spawned for managing all workers (handling
    signal/termination).
    * Add unittest for multiprocess API service, also alter testing/runner.py
    to adopt new unittest.

Change-Id: Ia045e595543ddfd192894b2a05801cc4b7ca90cb
Add a comment to rpc.queue_get_for().

Part of blueprint common-rpc.

Add a comment to the rpc.queue_get_for() function that notes that this
is simply a naming convention and is dependent on how queues are set up
on the consumer side.

Change-Id: Ifa7d648e9b33ad2416236dc6966527c257baaf88
Add missing import to quantum manager.

This patch adds a missing import of rpc to the quantum manager.  rpc
usage was added in d901b44fea897a038ce9a8afa32751ab79ffa210, but the
import was never there.

Change-Id: Id98a7034d190338c48d7e8c787b3d152cafe6353
defensive coding against None inside bdm
resolves bug 1007615

Change-Id: If7afa4fb030b3c53a0b80737ff792e42cc4d3101
Quantum Manager disassociate floating-ips on instance delete.

bug #997763

Change-Id: I4a1e6c63d2a27c361433b9150dd5ad5218578c02
Correct use of uuid in _get_instance_volume_bdm.

Fixes bug 1007267.

Change-Id: Icc3cfbef7beabebdaba88a6f81579ae784771bd2
bug #1006094 correct typo in addmethod.openstackapi.rst

Change-Id: Ic03996357aacb6f135b95fc1e5810066b776b980
Merge "defensive coding against None inside bdm resolves bug 1007615"
Merge "Add a comment to rpc.queue_get_for()."
Merge "blueprint <multi-process-api-service>"
Merge "Correct use of uuid in _get_instance_volume_bdm."
Merge "bug #1006094 correct typo in addmethod.openstackapi.rst"
Merge "Add missing import to quantum manager."
Merge "convert virt drivers to fully dynamic loading"
Merge remote-tracking branch 'upstream/master'