UUID vs PKI docs

Change-Id: I698516e212e3a1f470a8131aca207e96925b3a40
Add ABCMeta metaclass to token provider

Use the abc module for managing abstract base classes in the driver
layer.

bp: abstract-base-class-drivers
Change-Id: I4af9752a82c9be5ef95b41593e430de36d25c569
Fix issues handling trust tokens via ec2tokens API

Trust scoped tokens are handled incorectly when making requests
via the ec2tokens API, meaning that the restrictions enforced
by trust-scoped tokens are not respected when obtaining a token
via ec2token signature validation.

Storing the trust_id in the blob associated with the ec2 keypair,
and passing that id in the metadata when requesting a v2 token
solves the issue.

Change-Id: I52566384d7813ef0e2f20fb94a5076386457ff02
Closes-Bug: #1242597
Base Implementation of KVS Dogpile Refactor

This changeset implements a KVS interface that makes use of
dogpile's backends.  Included is an in-memory database (primarily
to be used for testing) that isolates data from modification via
liberal use of copy.deepcopy.  The memcached backend is a manager
pivot to allow the use of the various dogpile.cache memcache
backends while maintaining a simplified interface.

The KVS system implements a Distributed-Capable locking system that
hooks into the dogpile.cache backend mutexes. Locking can be
toggled at configuration time for a given KeyValueStore
instantiation.

The original kvs implementation has been moved to
keystone.common.kvs.legacy.  For compatibility all elements of the
old keystone.common.kvs namespace have been made available at
keystone.common.kvs.  The legacy kvs implementation has been marked
for deprecation after the release of ICEHOUSE.

DocImpact

bp: dogpile-kvs-backends
Change-Id: I8af1adfcb181f9118a1f21aada2e000c6cc0c201
Add assertSetEqual to base test class

Implement and add assertSetEqual to the base test class so that the
functionaly of set-specific comparison can be used in python 2.6.
Once python 2.6 support is deprecated completly, this new method
can be deleted and the tests will fall back onto the upstream version
of this test.  This is a copy of the method implemented on the TestCase
super class in python 2.7 with minor changes to conform to OpenStack
Hacking.

bp: dogpile-kvs-backends
Change-Id: I76a7d9a10b30ed6b0ac0aef4e5dd522cafb321e2
Merge "Fix issues handling trust tokens via ec2tokens API"
Merge "UUID vs PKI docs"
Merge "Base Implementation of KVS Dogpile Refactor"
Merge "Add ABCMeta metaclass to token provider"
Merge "Add assertSetEqual to base test class"