Couple of fixes to tempest/auth

Basically if you don't pass a header, the method header was None and later
when you try to assign a value to it's copy in _decorate_request method you
try to assign a value to a NoneType. Fixed the issue changing the copy to
fallback and provide an empty dict in case headers are None (The assign occours
in line 181).

The second fix is related to the base_url method in Keystone v3 provider. We
test the size of the filtered catalog matches and if equals to zero we need to
assign it to the first endpoint in the service catalog instead of the filtered
catalog itself (which has length zero, so impossible).

Related to bp unit-tests

Change-Id: I9f11ddcb6f34c0161cb338a1956cefc52e990af2
Allow IPv6 tests to be disabled

By default they are enabled. This is useful if
certain plugins do not fully support IPv6, or if
the 3rd party CI is set up for IPv4 only.

Closes-bug: 1282387

Change-Id: I6d402381474d70c5f7a4fe378c0459c9b3a92085
Removed RestClientXML class

After unifying RestClient class to handle both container
types - json and xml, class RestClientXML becomes redundant.

Change-Id: I1bcf5e4df130b8eee26d0abcf1741ba3ea8f3d00
Partially-implements: bp refactor-rest-client
Refactor Managers to a common base class

Multiversion auth part3

Refactor client managers to inherit from a common manager.Manager
class. Moves scenario base manager to clients.py.

Partially implements: bp multi-keystone-api-version-tests

Change-Id: Iddacbaa4593b7cb4d32538a5cade814751c180e0
Fix stress runner exit issues

1. The stress runner in parallel run, regardless to the test failures
   returned with 0 (EXIT_SUCCESS) exit status.
2. Stress runner did not stopped run in serial execution, when the stop
   on first failure was enabled.

Change-Id: Ifb71c58a2f676f8a3427160dbc5cfeab61d13b56
Merge "Allow IPv6 tests to be disabled"
Merge "Fix stress runner exit issues"
Merge "Removed RestClientXML class"
Merge "Refactor Managers to a common base class"
Merge "Couple of fixes to tempest/auth"