Complete mocking for test_extensions

The current implementation of trove.tests.unittests.api.
common.test_extensions does not fully mock the
test_default_extensions method. As a result trove UTs run without
trove being installed fail in this method as it assumes the
entry points have been installed into the egg for trove.

This patch completes mocking of that method so that the
test_extensions class can be run in a UT environment in
which trove is not installed and thus may not have the entry
points installed to the egg.

Change-Id: I2543f17fe087cf98d1a11ef47a07b4addfd32cd4
Closes-Bug: 1372950
Check for server attributes before using them

Sets server attributes only after verifying that
they exist.

Risk of fix: With this fix the server.host, server.local_id,
server.deleted, server.deleted_at values could get set with
values from information loaded per
client.servers.get(instance.server_id). See bug notes for
more details

Change-Id: I6d8303fee0ab685bdbe66b044174a7bd9f0807a4
Closes-Bug:1376525
Remove Python 2.6 classifier

Trove does not support Python 2.6 anymore starting with Kilo and might
not work correctly with it, so remove the classifier.

Change-Id: Ida17ce3ce76258442222b591846e1e1717119eed
Add missing api example for incremental backups

* Added Incremental backup test and resulting sample files.
* Fixed the example generator tests to actually fail when api
  changes.
* Added changes since the last example generation was run.
* Added a --fix-examples flag to the example generator to
  automatically correct the sample files.

Change-Id: I7ac355c80b251b0eccd3bd5b8d76d2287c255705
Closes-Bug: #1398119
Legacy MySQL datastore is shown on datastore-list

  On the 019_datastore_fix.py migration script the upgrade method was
calling the has_instances_wo_datastore_version as a function pointer
instead of passing the instance_table in and calling the function. This
meant the if block was always true because it was just checking if the
function exists and the create_legacy_version method was called everytime
causing the "Legacy MySQL" datastore to be inserted even if there was no
legacy trove instances. Now inject the instace_table into the
has_instances_wo_datastore_version and everything works as expected.

  Updated the datastore integration tests to not rely on the Legacy MySQL
datastore to exist by using the 10000000-0000-0000-0000-000000000001 GUID.
Instead the test now asserts against the data_store by the name
"Test_Datastore_1" which is the datastore the integration test
intended to validate against.

Closes-Bug: 1396427
Change-Id: Ifff33a962cc8d6ea150f6408d63b81412e196939
Merge "Check for server attributes before using them"
Merge "Remove Python 2.6 classifier"
Merge "Legacy MySQL datastore is shown on datastore-list"
Merge "Add missing api example for incremental backups"
Workflow documentation is now in infra-manual

Replace URLs for workflow documentation to appropriate parts of the
OpenStack Project Infrastructure Manual.

Change-Id: Ic33174d053274ab980c14da03b8394bfaf5375d3
Merge "Complete mocking for test_extensions"
Merge "Workflow documentation is now in infra-manual"