Make shelve pass old-world instance object to conductor

The conductor interface for notify_usage_exists() doesn't yet
work with a new-world object, so convert it with the compatibility
function before passing it from shelve().

Related to blueprint unified-object-model

Change-Id: I6c2c2dc6dedf521ed7b0c566411d6f0035038b7c
Make InfoCache.network_info be the network model

Instead of storing the DB version of network_info (which is a JSON
version of network.model.NetworkInfo) on the object, go ahead and turn
it into its native object as well.  This means that all uses of the
object don't need to worry about hydrating network_info themselves.

This adjusts all uses in the code understand the old and new ways of
life.

There's also a small issue with the get_by_instance_uuid() method that
would cause a traceback when no entry was found.  This method is not
being used yet anywhere, but this is fixed to raise a NotFound.

Related to blueprint unified-object-model

Change-Id: I882311c8a9f9df927c5650946e6398eeb33e74d0
Merge "Make shelve pass old-world instance object to conductor"
Merge "Make InfoCache.network_info be the network model"
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp