Move logic from os-api-host into compute

Renames host to host_name in various places to make it explicit what it
is the APIs are accepting and what we are passing around.

Moves logic out of the openstack api's host extension to the compute
library. This is in preparation for cells; cells provides its own
compute library that proxies certain calls to child cells.

In an effort to separate out the layers of code, we're moving all DB
related logic out of the openstack api layer and into compute library
layer.

For example @check_host which calls the DB should not be in the openstack
api layer. In the case of cells, we can't check for the existence of the
host until we arrive at the cell that contains the host.

Implements: blueprint host-api-prep-for-cells
Change-Id: Icb861fd323ba707ab3b661f0a2c6d8bb7bfdc85e
Access instance as dict, not object in xenapi

get_all_bw_counters() in XenAPI was accessing instances as objects
instead of dicts.

Fixes bug 1098382

Change-Id: I9a783c0f403b60d392dc26a25b93683e7c145600
Merge "Access instance as dict, not object in xenapi"
Merge "Move logic from os-api-host into compute"