More automatic connection recovery work

 * Channels now recover exchanges declared on them and basic.qos setting
 * Exchanges know how to recover themselves
 * Consumers now have a ref to the queue they are using