Exclusively use fully-loaded instance objects

Fixes OS-261

Ensure that only instance objects are used throughout the manager
and renamed "instance_ref" to "instance" to help reflect this.
This ensure that cobalt uses a consistent type throughout.

When passing an instance object through an RPC call it will get
serialized into a dictionary format. Any fields that were not
loaded will not be present in serialized dictionary. This will
cause errors when the RPC method expects the data to exists.

When loading the intial instance object we explicit ask for all of
the default fields to also be loaded (e.g. metadata). In this way
we do not need to worry about what fields are loaded before making
an RPC request.

Change-Id: I3e8c8bb107c3a9f737543ff979631eb30a4a171a