instance_topology_from_instance handles request_spec properly

We special-case how we handle the instance that we extract from the
request_spec data blob in virt.hardware.instance_topology_from_instance,
however, we were making wrong assumptions about the data we get from it
in the scheduler.

This patch fixes how it is handled and also updates the tests and
comments in the code to reflect it.

Change-Id: I38d7078d670bc37ddb40fba82fd0f9cb74045047
Closes-bug: #1369508
Merge "instance_topology_from_instance handles request_spec properly"