Remove invalid block_device_mapping volume_size of ''

Parsing block_device_mapping from strings sometimes results in
volume_size being set to '' or u''.  This causes a problem when
inserting into PostgreSQL, which insists that integer columns
actually contain integers.  Remove invalid device_size before
inserting or updating block_device_mapping database records.

(cherry picked from commit 188a94c898bcf07f9fe42ef2f3b5ee4aa8859b49)

Fixes: Bug #1171190
Change-Id: If9132a96604b5b0e3a6df96624e565e016d5c9a3
Enforce flavor access during instance boot

The code in the servers API did not pass the context when retrieving
flavor details.  That means it would use an admin context instead,
bypassing all flavor access control checks.

This patch includes the fix, and the corresponding unit test for the v2
API.

Closes-bug: #1212179

(cherry picked from commit 4054cc4a22a1fea997dec76afb5646fd6c6ea6b9)

Conflicts:
	nova/api/openstack/compute/plugins/v3/servers.py
	nova/api/openstack/compute/servers.py
	nova/tests/api/openstack/compute/plugins/v3/test_servers.py
	nova/tests/api/openstack/compute/test_servers.py

Change-Id: I681ae9965e19767df22fa74c3315e4e03a459d3b
Fixes host stats for VMWareVCDriver

Host stats for VCDriver should collect aggregate cluster stats
rather than that of a single host in the cluster.

Fixes: bug #1190515

(cherry picked from commit fddcde6a063d59596f687f0651af94f498f7d9b7)

Change-Id: I56b6b027e1370fc2cfdb4d87c10b80574a81b225