Use multiple channels in this example

This reveal a number of issues that are hard to notice
with just one channel.
Correctly increment recoveries counter
Exception handling
Ditto
Wording
Error handling
Don't recover queues with predefined names
Re-register exchange with its channel upon declaration