[rabbitmq] Extract method
[rabbitmq] Don't call #start on HotBunnies::Session

This causes the call to be proxied to AMQConnection#start
which is not idempotent AND not what we mean anyway.

This compatibility rough edge is fixed in HotBunnies 2.0.0.pre8.
[rabbitmq] Use at least HotBunnies 2.0.0.pre8
[rabbitmq] Bump default prefetch setting for consumer up to 256

In practice the number of unacked messages will be the number of
messages "in flight" and not 256. So it does not hurt to increase
the number and get better delivery throughput from RabbitMQ.
[rabbitmq] Consider the output connected at the end of #register
[rabbitmq] Make sure HotBunnies output implementation recovers successfully

"Channel alread closed" exceptions are effectively inevitable because
it takes a bit of time to detect network failures, while the pipeline
is pushing data to the output constantly.

So we need to correctly recover from those, too, and set
connection state to true after the exchange is declared.