Turn HotBunnies::Channel into a Ruby class; introduce HotBunnies::Session

This is the first step towards hiding RabbitMQ Java client parts that
are unlikely to be useful or even understandable to many
Ruby developers:

 * methods overloaded on both arity and type signatures
 * Java exceptions raised on protocol errors
 * com.rabbitmq.client.Channel interface

Because Ruby won't allow us overload methods on arity and/or type signatures,
lower-level methods such as HB::Channel#queue_declare only have a single most
commonly used signature and uses the same default argument values as
overloaded versions in the Java channel implementation.

It passes existing HotBunnies test suite without modifications.

Note that this also drops support for the :internal option for exchanges
that's not supposed to be used by app developers.
Make sure imports don't spill into into Kernel
Bump version to 2.0 development
Keep track of channels in HB::Session

This way we can attempt recovering them, like amqp gem and Bunny
do, on network failures
Merge pull request #12 from ruby-amqp/no_implicit_channel_extension

Turn HotBunnies::Channel into a Ruby class