Fixed metadata validation err. Fixes bug 965102.

1. Fixed the error message on specifying invalid server metadata key/value.
2. Added check to disallow specifying blank metadata key.
3. Added unit test coverage.

Addressed review comments.

Change-Id: I1f0002971dc236045d6e622641f46a4a30249d54
QuantumManager will start dnsmasq during startup. Fixes bug 977759

Added _setup_network_on_host method, which calls update_dhcp
if quantum_use_dhcp is set.

Change-Id: I193212037873001a03da7b7a484f61a5c13b5de8
Renamed current_audit_period function to last_completed_audit_period to clarify its purpose.

Change-Id: I7bcfbd1a0545f992b1deae54e4deb956ae33e15d
xenapi_conn -> xenapi.connection

This keeps all of the XenAPI related code together in one directory,
like libvirt.

Change-Id: I1de51eb8bcead0695e9f8ede466416e0257d0148
Log more information when sending notifications

For debugging purposes, it's useful to see what event type is being sent
and not just where it's being sent

Change-Id: I809a15a76204c79d37ed68b649cd2aea80ad3db2
Make run_tests.sh just a little bit less verbose

Change-Id: I9d4dc11083cb51040677eeda2d28d4b23539a304
Fix error message to report correct operation

Change-Id: Ied2595b56da7e0a5b17d17282c2aa8dc066ef9f3
Make exposed methods clearer in xenapi.vmops

VMOps is only used by connection.py, but it's not always obvious
which methods are intended to be public and which are used
internally for implementation reasons. Prefix any internal methods
with _ to make that clearer.

Change-Id: I50244c18233d6d7463057cf5df42d5a5a3a6fab9
Merge "Make exposed methods clearer in xenapi.vmops"
Merge "Log more information when sending notifications"
Port types and extra specs to volume api

 * Fixes bug 979089
 * Adds pollicy for new extensions
 * Fixes __init__ in testing directories
 * Cleans up existing volume types tests
 * Adds tests for type management
 * Adds tests for extra specs management
 * Removed unused Quota handling
 * Fixed typo in db volume_type_get

Change-Id: Ic80190ecf1d6d6ad0229e5af642a50c7c53bbbf9
Remove unused variable

Change-Id: I0a30c61db57d4704eb001f1d96127acc41878bfe
Test unrescue works as well

The only unrescue test that happens right now is that it fails if not
already in rescue. This test fills out to test unrescue works as
intended. Also, remove unnecessary stub from rescue test.

Change-Id: I4451afe5a7d2ada8dfaefad804345b66ac895094
Simplify _get_vm_opaque_ref in xenapi driver

Full instance objects are passed to all methods now, so it no longer
needs to handle three different variants of argument. Also, make sure
most code uses _get_vm_opaque_ref instead of calling VMHelper.lookup
directly so it checks that a vm_ref was actually returned.

Change-Id: Icc8b819e1d4b8bf342867d09e61fe05e6eab9e70
Add deleted_at to instance usage notification.

This makes it easier to determine the uptime of a particular instance.

Change-Id: If94d811b07120662ec3c8ce0a275f4c6178be56d
Merge _spawn and _configure_instance in xenapi driver

They were separated only to make it easier to stubout, but we want
more test coverage, not less. So merge them together and fix the
tests while we're at it.

Change-Id: I18333017868b91fb71b8d3dce831463a1cd5bf81
Improve instance logging in compute/manager.

This adds instance logging coverage to all of
nova/compute/mananger.py. Resolves bug 977976.

Change-Id: I9392cb6202ac7997cdfd994c67374e738e8c8b10
Refactors kernel and ramdisk handling into their own method.

The size of `_create_instance` is making it increasingly difficult to
work with. This is part of a series of patches aims to break it up into
smaller, more digestible pieces.

Change-Id: Ic668f0414937b255b1b1e1392c204307665822aa
Small code cleanup for config_disk handling.

Change-Id: I3456b4c98aa6527d10452e8f578a30e95a65db8e
Refactor checking instance count quota.

Change-Id: I8ab738f3042ccf451d769c62b9fee2d20fa23953