refactor test_catalog

- Tests for "missing" attributes are actually testing with null values,
  not missing keys.
- Not being able to explicitly provide alternative URLs resulting in
  hacky workarounds that can be avoiding by simply exposing kwargs with
  reasonable defaults
- Several tests redundantly asserted the expected response status, which
  is already handled by the test framework

Change-Id: Icadb4927bcf03ca7e79fef1507e419a4932f32a9
Related-Bug: 1250765
Allow caching to be disabled and tests still pass

Skip cache specific tests if caching is disabled.  Cache should only
be disabled to eliminate caching as an issue with tests, but in all
cases tests should pass in either configuration.  The default is
to use caching for all tests.

The caching options can be changed for testing purposes in the
keystone/tests/test_overrides.conf file.  The specific options
and sections that support caching can be located in the
configuration document in the section covering the caching layer.

Change-Id: I7848128aeaf3f578b89ab0b9201c45e00efecf11
Add index to cover revoked token list

The individual expires and valid indexes do not fully cover the most
common query, which is the one that lists revoked tokens.

Change-Id: I112332b49dac148e5231b76f3399fe60174a702d
Partial-Bug: #1253755
Sync rpc fix from oslo-incubator

Sync the following fixes from oslo-incubator:

ef406a2 Create a shared queue for QPID topic consumers
e227c0e Properly reconnect subscribing clients when QPID broker restarts

Closes-bug: #1251757
Closes-bug: #1257293

Change-Id: I45257c62168163d2d4ceda994c94ff2d16a27300
Merge "Add index to cover revoked token list"
Merge "Allow caching to be disabled and tests still pass"
Narrow columns used in list_revoked_tokens sql

Currently the SQL backend lists revoked tokens by selecting all of the
columns, including the massive "extra" column. This places a significant
burden on the client library and wastes resources. We only need the
id/expired columns to satisfy the API call.

In tests this query was several orders of magnitude faster with just two
thousand un-expired revoked tokens.

Change-Id: I04d62b98d5d760a3fbc3c8db61530f7ebccb0a48
Closes-Bug: #1253755
Merge "Sync rpc fix from oslo-incubator"
Merge "Narrow columns used in list_revoked_tokens sql"
Merge "refactor test_catalog"