- Don't call _set_qos from both ensure_connection and on_reconnection,
instead consolidate and only call from _set_current_channel
- Only set QoS on PURPOSE_LISTEN connections. It's a waste of a
roundtrip to call it on PURPOSE_SEND connections and slows things
down unnecessarily
- Guard against rabbit_qos_prefetch_count being set to a negative
value
- Tests, because we love them
Change-Id: I365414c541d895dcd49ebcd32c3a456a92c392d6