resource-tracker: Begin refactor unit tests

The current unit tests for the resource tracker are in
/nova/tests/compute/test_resource_tracker.py, and they are virtually
impossible to work with, due to a number of things:

 * They rely on a real conductor service being started during
   each test method
 * They rely on database state since they are not NoDBTestCase-derived
 * They use random nested dicts all over the place for fixtures, instead
   of nova.objects where appropriate, making the unit tests very
   difficult to alter along with changes to "objectify" the resource
   tracker.

This patch is the start of a refactoring effort that removes the
database and conductor service calls and replaces them with mocks and
derives the unit test cases from nova.test.NoDBTestCase. This first
patch simply tests the logic of a single important method of the
resource tracker: update_available_resource(). The test methods test the
various code branches that can occur if the compute node has active
instances running on it, no instances running on it, migrations running
on it, and more.

This patch introduces a new test file called test_tracker.py. When all
code paths in the resource tracker have been tested in test_tracker.py,
I will delete the original test_resource_tracker.py and rename
test_tracker.py to test_resource_tracker.py.

Change-Id: I8373203db5f20fc81c47fea2d7fe5f67eadc98b4
blueprint: make-resource-tracker-use-objects
Merge "resource-tracker: Begin refactor unit tests"