Update instance's cell_name in API cell.

It was accidentally being removed before updating the DB due to code
being moved and not updated.  The test for the method was broken, too,
allowing this bug to sneak in.

Fixes bug 1098093

Change-Id: I05c00b8b100568b39afb8ee0ca7ee94d4dd97c0a
Merge "Update instance's cell_name in API cell."
Change ComputerDriver.legacy_nwinfo to raise by default.

This makes non-updated hypervisors visible by grepping for 'def
legacy_nwinfo' rather than only the updated ones being visible, and
when new hypervisors are added, it will be clear whether they use the
legacy format or not.

Out of tree hypervisors will be broken by this, but the fix is
trivial::

def legacy_nwinfo(self):
    # XXX TODO Update to use the non-legacy format.
    return True

Change-Id: If5b461bc5d8e8dc21de3ca9cf521e7b341724900
Move update_instance_info_cache to conductor.

The network API always updates the instance_info_caches table whenever
someone asks for current network information for an instance.  When
the compute manager calls network_api.get_instance_nw_info(), we'll need
to use the conductor for the cache update instead of a local DB call.

Adds an option to network_api's get_instance_nw_info() to not update the
cache and adds code into compute manager to update the cache via the
conductor.

Related to blueprint no-db-compute-manager

Change-Id: I36c3eb5b4e31ef2e26d3023bf2521d95205eb6ac
Merge "Move update_instance_info_cache to conductor."