Add skips to the services decorators

This commit adds a skip to the services decorators. Previously the
decorator was used solely to add an attr to the test_id that specified
which services the test exercised. However, this attr also specifies
which services need to be enabled to run the test. So if a service tag
is set then the decorator will raise a skip exception if the services
specified are not enabled.

Change-Id: Ie5b4f7b7c068b37832e97ffc2a3972b6358425ac
Fix admin tenant credential

Change-Id: Ie23fc998954a831312d21ca91a315e39c5fd34c2
Refactor rest-client and identity v2-client

Simplify rest client bases into a single base client class.
There is a lot of duplicated code in the way the REST client classes are
constructed to enable both JSON and XML requests. Duplicate code leads
to subtle errors and inconsistencies in the way that
service client classes behave.
This patch aims to simplify the class hierarchy for the REST client classes
by making the XML service client class inherit from
the JSON service client class.

Steps to use one xml-client:
1) json-service-clients inherit rest-client
2) xml-service-clients inherit json-service-clients
3) redefine option self.TYPE for xml-service-clients
4) use new method self.get_headers() instead option self.headers,
if needed, but in most cases there is no need to set up headers
at all in service clients.

Closes-Bug: 1269489
Partially-implements: bp refactor-rest-client

Change-Id: Ie43d10affc981d3446b1296cf05ef595154276a9
Merge "Fix admin tenant credential"
Merge "Add skips to the services decorators"
Merge "Refactor rest-client and identity v2-client"