Add automatic recovery flag to connection factory
Add topology recovery flag
Automatically recovering connections and channels: initial cut

This is a rough incomplete port of what Langohr has sans the
tests and with a couple of API tweaks to accommodate for some Java client-specific
API bits, e.g. ConnectionFactory.
Use new method name
If channel.close fails, make sure to unregister the channel still
Expose local address and port
Provide an easy to way to access connection name

To be used with rabbitmqctl and HTTP API
Add getLocalPort and getLocalAddress to connection interface
Initial connection recovery test
Commit missing file
Test channel recovery
Demonstrate channel recovery using two channels
Add getName to SocketConnection
Demonstrate recovery with client-named queues
Extract method
Record and recover queue bindings
Test for disabled topology recovery
Test for e2e binding recovery
@Override no longer applies here
Refactoring, more tests