Added a service heartbeat driver using Memcached.

Today the heartbeat information of Nova services/nodes
is maintained in the DB, while each service updates the
corresponding record in the Service table periodically
(by default -- every 10 seconds), specifying the timestamp
of the last update. This mechanism is highly inefficient
and does not scale. E.g., maintaining the heartbeat
information for 1,000 nodes/services would require 100 DB
updates per second (just for the heartbeat).

This patch adds nova.servicegroup.drivers.memcached, a
service heartbeat driver using Memcached. You can reduce
DB updates with it.

blueprint memcached-service-heartbeat

Change-Id: I60bdb1cfbce1fea051f276ebfd6ccc4ad8fe6d2b
libvirt: Use uuid for instance directory name

This is done in a backwards compatible manner to deal with instances
started under the old regieme where we used a less unique name.

Resolves bug 1023865.

Change-Id: I4c9b7b291a30a7f3c2c9305c8fa346dc582bee88
Merge "Added a service heartbeat driver using Memcached."
Merge "libvirt: Use uuid for instance directory name"