Qpid Transport Support

This PR adds support for Qpid as a valid transport type for Kombu, and includes code, unit tests, docstrings, doc changes, and dependency updates.  This is very functional transport, which also has been fully tested with Celery, supports SSL, and allows for both synchronous and asynchronous I/O.  This is being used in the upcoming release of [Pulp](http://www.pulpproject.org/).

Issues related to this code can be routed to me for bugfix and troubleshooting.

## The code
The bulk of the code itself is contained in the kombu.transport.qpid module.

NOTE: The code currently still does monkey patching of qpid.messaging.  Current versions of qpid.messaging that are out in the wild (pypi, rhel6, fedora, etc) are missing two important patches, [QPID-5637](https://issues.apache.org/jira/browse/QPID-5637) and [QPID-5557](https://issues.apache.org/jira/browse/QPID-5557).  This codebase introduces those patches at runtime, and eventually will be removed.

The monkey patching has been tested currently to work with clients using 0.22, 0.24, and 0.26 versions of qpid.messaging, so it should produce the expected behavior no matter what version of tools it is patching.  The patching has been tested against the versions currently on Pypi.

The code is flake8 compliant.  You should be able to run everything as described on [this celery page](http://celery.readthedocs.org/en/latest/contributing.html#pyflakes-pep8) and it should look clean.

## The tests
This code includes unit tests, and has been tested with both Kombu functional tests and Celery functional tests.

### Unit Tests
The functional tests are all located in the kombu.tests.transport.test_qpid module.  If the necessary dependencies are not available, then the unit tests automatically skip.

You can run all just these new tests using:

```nosetests --with-coverage --cover-html -v kombu.tests.transport.test_qpid```

To get any continuous integration environments to run these unit tests, you'll need to install the dependencies.  Please install the dependencies in the CI environment by running:

```pip install qpid-tools qpid-python```

### Kombu Functional Tests
The existing kombu functional tests are used without modification.  The only addition is to have a test file that inherits from the standard Transort test object and names qpid as the backend module to test.

You'll need a Qpid broker running one of the major Qpid releases (either 0.18, 0.22, or 0.26).  You'll also need the underlying client dependencies.  If the client dependencies are not present, then the functional tests automatically skip.  If the broker is not configured correctly, or not running, the test will run but will produce many errors.

First make sure you've got the underlying dependencies by running:

```pip install qpid-tools qpid-python```

Then start a qpid broker on localhost with authentication disabled by running:

```sudo -u qpidd qpidd --auth=no```

Then run the functional tests using:

```nosetests -v funtests.tests.test_qpid```

### Celery Functional Tests
The existing celery 'stress' functional tests can be used, but require a small patch to have celery know to test the Qpid transport.  Here is the diff to apply:

```
diff --git a/funtests/stress/stress/templates.py b/funtests/stress/stress/templates.py
index 2235bf6..2a2e034 100644
--- a/funtests/stress/stress/templates.py
+++ b/funtests/stress/stress/templates.py
@@ -82,6 +82,12 @@ class redistore(default):
 
 
 @template()
+class qpid(default):
+    BROKER_URL = os.environ.get('CSTRESS_BROKER', 'qpid://')
+    CELERY_RESULT_BACKEND = 'mongodb://127.0.0.1/'
+
+
+@template()
 class acks_late(default):
     CELERY_ACKS_LATE = True
```

After applying the diff you need to start qpidd using --auth=no by running something like:

```sudo -u qpidd qpidd --auth=no```

Then you need to start a  'stress test worker'
```
cd funtests/stress
celery -A stress worker -Z qpid
```

Then you need to start a 'stress test dispatcher':

```
cd funtests/stress
python -m stress -Z qpid
```

Watch the tests complete.

## The Docs
The code itself contains a huge number of docstrings.  They follow the syntax expectations of Kombu/Celery (line width, strict PEP8, etc).

The more general documentation has been updated in two important ways.

1.  The transport has its own section which is partially from the docstrings.   This contains important things like instructions on how to download dependencies.

2.  Updates to things that are no longer true.  For instance the docs use to say things like "only rabbitMQ supports SSL" which is no longer true.

You can build the docs using [these instructions](http://celery.readthedocs.org/en/latest/contributing.html#building-the-documentation).

You also should build the API reference since most of the docs live in there.  You can follow [these instructions](http://celery.readthedocs.org/en/latest/contributing.html#api-reference)

## Dependencies
This library relies on the pure-python packages named 'qpidtoollibs' and 'qpid.messaging'.  Kombu expects all pure python dependencies to be put onto pypi, and they can be "bundled" into Kombu as a group of optional dependencies.

The files introduced have all imports guarded against ImportError Exceptions so that you can import any file without installing the dependencies, and you'll encounter no Exceptions.

qpidtoollibs is currently published on pypi at version 0.26 [here](https://pypi.python.org/pypi/qpid-tools).
qpid.messaging is currently published on pypi at version 0.26 [here](https://pypi.python.org/pypi/qpid-python).

A bundle in Kombu has been created called 'qpid' which should allow someone to install the bundle using kombu[qpid].  The docs also explain how to do this.