Improved support for using select()

Introduces two new classes: AMQPConsumer and AMQPConsumerDispatcher