Use an ivar that does not break Rubinius' TCPSocket implementation
Correctly use timeout method
Synchronize access to the collection we accumulate responses in

Otherwise updates may get lost.
Introduce exception for error code 501
Update spec URL
Ditto
Avoid using CRuby-specific impl methods
Leave a TODO
Log heartbeat interval used as INFO
Flush data written in Transport#write_without_timeout

It turned out to be a terrible idea. No throughput gains
are worth incorrect behavior.
Signal heartbeat activity when we send data, not when we receive it

Fixes an issue with long running consumers that don't send anything
Update change log
Switch default log level back to WARN
Now that we have stress tests, functional tests can use lower msg counts
Add a long-running consumer stress test

References #119
Reduce waiting time
Less stress in this test, now that we have separate stress tests
Shut down consumer pool when closing the channel
Allow Bunny::Session#create_channel accept an optional consumer work pool size
Silence