Added documentation to keystone.common.dependency.

All public attributes now have docstrings describing their interface,
and the module has a top level docstring as well. Previously,
documentation was very sparse.

Closes-Bug: #1252428
Change-Id: I9c83883a6d9ae3201c9037c979689cb82c232120
Ensure the sample policy file won't diverge

Currently rules should appear in both policy.v3cloudsample.json and
policy.json. In the future there may be a few exceptions that can be
documented by making the exception explicit in the test.

Change-Id: I3e9cdf64998d667941c44dc6edb48c2f7a9d37c4
Closes-Bug: #1255564
Refactor assertEqualXML into a testtools matcher

Not all tests inheriting from TestCase will need to check XML equality.
Moving this functionality to a matcher leaves it up to the test class to
decided whether or not it needs it.

Change-Id: Ib28ec3b5dd96f662ce0cd90c650434b24c63ad6c
Related-Bug: #1226466
Merge "Refactor assertEqualXML into a testtools matcher"
Merge "Added documentation to keystone.common.dependency."
Merge "Ensure the sample policy file won't diverge"