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
Merge "Base Implementation of KVS Dogpile Refactor"