Use logger in the reader loop
Bunny::MainLoop => Bunny::ReaderLoop
Spam
Use amq-protocol 1.5+
Use AMQ::Protocol::Frame#encode instead of #encode_to_array and iteration

Iteration is both unnecessary and introduces a race condition
when the buffer is full.

This also pushes writes synchronization to Bunny::Transport. It is
easier to reason about concurrent writes this way.

References #119
Lower watermark to 512 MB
Spam