Openstack Swift backend support for bare repositories

This push request is a follow up of this one #118. I have
stacked all the commits in one to avoid putting to much noises
in the Dulwich Git history if this patch is merged. This patch
has been also rebased on master. Let me know, Jelmer, if some
changes are needed.

--- Commit message ---
This patch adds a new SwiftRepo object that inherits of
BaseRepo. The SwiftRepo object knows how to deal with
git repositories stored on an Openstack object storage
Swift.

Regular filesystems are the defacto backend for Git
repositories but suffers of some limitations in term of
availability and scalability. Using Swift as backend, Git
objects are duplicated in multiple replica, that improves a lot
the disponibity of your repositories, avoids the downtime
due to infrastructure maintenance and also avoids the need to
configure backups. Extending a regular filesystem where
your repositories are stored can be risky and can leads to
downtime. With Swift as backend, extending the storage size
is transparent.

For more details have a look to the README.swift file
provided by this patch.