Fix api direct use of instance module objects

This switches the nova/api and nova/tests/api code to use
nova.objects.Instance* vs nova.objects.instance.Instance*.

Partial-Blueprint: object-subclassing

Change-Id: I146f1d082fa37e1a5c09aa8c5363746daffbc219
Skip migrations test_walk_versions instead of pass

When there is no db engine configured for the migration tests,
the test_walk_versions test was passing, rather than skipping,
because it contained a for-loop and no check for the length of the
sequence being iterated over.
This patch checks the length of the configured engines and
properly skips the test when there are no engines.

Change-Id: I4078655f01638c22cf029f088018b8be93d6a01a
Co-Authored-By: Devananda van der Veen<devananda.vdv@gmail.com>
Closes-bug: #1327397
Merge "Fix api direct use of instance module objects"
Merge "Skip migrations test_walk_versions instead of pass"