use tenant:* as swift r/w acl

The related swift patch has been merged
(https://review.openstack.org/#/c/22820/), so Glance here could support
this multi tenant sharing feature.

fixed bug #1155389

Change-Id: I36dfc7bdae133149e38e8266666e70cc07490554
Add custom RPC(Des|S)erializer to common/rpc.py

We need a custom way to serialize / de-serialize some types in the rpc
API. Some of this custom serializations are worth moving to Oslo and
other aren't. Before going down that road, it is worth testing them and
make them a bit more stable.

This patch introduces a serializer and a de-serializer for Glance's RPC
API.

Implements blueprint registry-db-driver

Change-Id: I70c429c65d67cbd7ba09176d5f8e4e8f27270c5b
Add location specific information to image locations db

This patch adds a column to the image_locations table.  The column
will store location specific information.  As a location is added
to an image there may be some meta data about that information that
needs to be stored with it.  For example, if it is a file:// URL,
information about the NFS server (host name, mount point) would be
needed in order for the URL to be useful.

blueprint: direct-url-meta-data
blueprint: multiple-image-locations

Change-Id: I6a96163abc8e4388e84cae2a8952f89d433210ff
Merge "use tenant:* as swift r/w acl"
Merge "Add location specific information to image locations db"
Merge "Add custom RPC(Des|S)erializer to common/rpc.py"