1100005 - Fixes NoAvailableQueues Issue

https://bugzilla.redhat.com/show_bug.cgi?id=1100005

Also fixes memory leak referenced in this [BZ bug](https://bugzilla.redhat.com/show_bug.cgi?id=1101717).

The code has been updated, and comes with tests, but the docs have not yet been updated.  Those will be updated before this is merged.

You can run the tests from the root of the kombu checkout using:

```
nosetests --with-coverage --cover-html -v kombu.tests.transport.test_qpid
```

This PR does the following things:

* Consolidates all qpid.messaging sessions to a single session that is stored on the Transport object. This significantly reduces the number of sessions being managed.

* Channel.basic_consume() now starts a qpid.messaging receiver, and stores a reference to the new receiver on the Channel. qpid.messaging is smart enough to receive I/O asynchronously after a receiver is started.

* The FDShim and FDShimThread objects have been totally removed. There is no usage of Queue.Queue or Threading in the transport.

* Adds a gratuitous acking behavior so that qpid.messaging does not retain references to messages that will never be acked.

* This sets the prefetch_count to of QoS objects at least 1 at all times. The basic_qos arguments needs some work, and I didn't want to delay the main goal of this fix with that small detail.  prefetch_count is set to 1, which will allow the design to run correctly. A prefetch_count of 0 will never run with this new design.