Port server_usage API to v3 part 1

This changeset only copies the v2 files into the appropriate v3
directories unchanged. The copy as-is will not be loaded by either
the v2 or v3 extension loaders. The second changeset will then
make the changes required for it to work as a v3 extension.

This is being done in order to make reviewing of extension
porting easier as gerrit will display only what is actually
changed for v3 rather than entirely new files.

Partially implements blueprint nova-v3-api

Change-Id: Ie5cbde7d9a0d77e78c9f9cc577d8cbd36fb74188
Port server_usage API to v3 part 2

Ports the server usage extension and the corresponding
unittests to the v3 API framework

DocImpact

Partially implements blueprint nova-v3-api

Change-Id: Ic5c14ef83e0ec16f36672377f1daa046044dce78
Support setting block size for block devices

cinder now supports backend with different block sizes. Sometimes
we need to set a specific block size or operations against the
backend will result in I/O errors. Additionally its a good idea
to tune the block sizes to the correct size as it can improve I/O
performance.

The basic disk configuration for libvrit now supports setting the
logical and physical block size of devices.  The block size info
is stored in connection_info of the block_device_mapping table
for later use.

By default it does not set the block sizes which defaults to
512 bytes.

DocImpact:
This feature requires libvirt 0.10.2+ and the QEMU or KVM
hypervisor. If a volume has a custom block size, cinder considers
it required. As such the hypervisor and libvirt version are
checked during the attach_volume call. If the hypervisor is not
supported or the libvirt version is too old the attach is
aborted and an exception is raised.

Change-Id: I77adc96b340680218f82bbef8f9ec14711d26a7f
Fixes Bug #1195913
Fix formatting on scheduler documentation

Change-Id: Ifac98bbd9931d9bf75f73d4263aa77867cf52522
Removed scheduler doc costs section

Since commit 820f43fc (Change-Id
Ie3e7611347c334c359dea98d759345b97c66c9c1)
costs are no longer used, so all references to them have been removed.

Change-Id: I6e02bc47643be9f9dfe9d2e42b2335626bf039e7
Merge "Port server_usage API to v3 part 1"
Merge "Port server_usage API to v3 part 2"
Merge "Support setting block size for block devices"
Merge "Fix formatting on scheduler documentation"
Merge "Removed scheduler doc costs section"
Nova support for vmware cinder driver

Part of blueprint vmware-nova-cinder-support

This is the first part of the blueprint that deals with attachment
and detachment of volumes.

Change-Id: I3ad8ae127eef7bfe600be91629c9352a7a5fa4b4

Conflicts:

	nova/tests/virt/vmwareapi/test_vmwareapi.py
	nova/virt/vmwareapi/volumeops.py
add the cinder integration patch
https://review.openstack.org/#/c/40245/

Change-Id: I810e78499e871a4e87d3ea5b78f7904ebb033542
Merge branch 'master' of https://github.com/openstack-vmwareapi-team/nova-cherrypicks into cinder_integration

Change-Id: I2d4fc30bb76e38fde8e266f492ea10d04c962ba8