Use python module loading to run glance-manage

Executing glance-manage in a unittest context means that we need
to install glance first, which breaks packaging workflow.

Fixes bug 1196275.

Change-Id: Idf0a332c2f2ffd3eb96d3623c32cf5383a0d9887
Add Sheepdog store

Sheepdog is a distributed block storage. This patch enables Sheepdog cluster
as a backend store for glance.

Test:

You can set up a simulated 3 node cluster on the local machine with
following script:

 $ sudo apt-get install liburcu-dev
 $ git clone git://github.com/collie/sheepdog.git
 $ cd sheepdog
 $ ./autogen.sh; ./configure --disable-corosync
 $ make; sudo make install
 $ for i in 0 1 2; do sheep /tmp/store$i -n -c local -z $i -p 700$i;done
 $ collie cluster format

Then change the default store in glance-api.conf as sheepdog

blueprint: add-sheepdog-support

Change-Id: I99907bbfc2e131146de9dd1a39f94a73cd2585e9
Fix stale process after unit tests complete

After running the unit tests (eg with tox -epy27) a stale 'nosetests'
process was always left behind.  It left TCP ports open and held references on
inodes. The latter caused a problem with some automated build systems.

Rework the relevant test 'test_no_client_tracebacks' to be functionally
the same, but clean up fully.

Fixes bug 1198685.

Change-Id: If9d3afa370dc2bd3c470b509d38c94cfb5844518
Merge "Fix stale process after unit tests complete"
Merge "Add Sheepdog store"
Merge "Use python module loading to run glance-manage"