Convert Nova's virt driver to hypervisor plugins

This moves all of Nova's hypervisor (VIRT_DRIVER) configuation from
stack.sh to individual plugin files in lib/nova_plugins/hypervisor-*.
Adding support for a new hypervisor is now as simple as adding a new
plugin file.

The hypervisor image name and URL configuration in stackrc has been moved
into the plugin files; the variable names are changed around a bit to
set the defaults properly if nothing is set in the users localrc.
The names in localrc have not changed so this is all backward-compatible.

Change-Id: I83cfb620b1afb1ed7596827c2392bcd6c38b9f06
Add support for Docker in Nova

Adds lib/nova_plugins/hypervisor-docker to use Docker as a Nova
hypervisor.  This assumes that the Docker daemon is already running
before stack.sh starts and aborts if the daemon is not found.

Change-Id: I9e7065b562dce2ce853def583ab1165886612227
Merge branch 'install-pip' into dt-test
Merge branch 'nova-plugin' into dt-test
Merge branch 'docker' into dt-test
Merge branch 'screen-stop' into dt-test
Merge branch 'doc-shocco-cleanup' into dt-test
Merge branch 'update-usb-tools' into dt-test