Fix orphaned instance from get_by_uuid() and _from_db_object()

We need to set _context on the Instance object we create during
get_by_uuid(), but more specifically during _from_db_object().
In order to properly initialize things like nested objects that
themselves need a _context, we should pass it to _from_db_object()
always.

Same thing for InstanceInfoCache.

Related to blueprint unified-object-model

Change-Id: I09ab6b5d7d8961b69294536885e8432943b3a611
Fix serialization of iterable types

So far, we have not supported serialization of iterable type
arguments to RPC methods. However, the recent change to pass
args as a tuple instead of forcing everything to kwargs means
that serialization of non-keyword args is broken. This patch
adds that support, as well as tests for the serializer, which
should have been there in the first place.

Related to blueprint unified-object-model

Change-Id: Ie02fffd89d9b79b4bc8270c14b2860c0e37d7a92
Merge "Fix orphaned instance from get_by_uuid() and _from_db_object()"
Merge "Fix serialization of iterable types"
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp