OS-244: set instance['node'] ASAP on launch

On launch, we have to set the instance's 'node' attribute before we call into
nova's compute manager because the compute manager uses the 'node' field. In
particular, when we call to_xml on the libvirt driver, the compute
manager's _instance_update method is transitively called, and
_instance_update refreshes its cache of host information if the
instance's node (which is None because we haven't set it) isn't in its
list of nodes. Refreshing the host information cache can be very expensive
because several calls are made into libvirt for every PCI device on
the host; on my machine, that amounts to 130 calls.

Change-Id: I5624bdefd8765039a0723f908c5b14207b1bfb30
OS-247: show SCHEDULING and BLOCK_DEVICE_MAPPING

We weren't putting instances in the task_states SCHEDULING or
BLOCK_DEVICE_MAPPING. Although these transitions aren't required for
correctness, they're useful data points when measuring performance.

Also backported the _copy_instance test in test_api.py from havana/1.5
to grizzly/1.5.

Change-Id: Ic0e3955d3c54977f9412aeba68c7000c3cbfad1e
Merge "OS-244: set instance['node'] ASAP on launch" into grizzly/1.5
Merge "OS-247: show SCHEDULING and BLOCK_DEVICE_MAPPING" into grizzly/1.5