Make overriding method connection factory easier
Towards connection recovery tests that handle primary node restarts better
Inline
Make c.r.c.Connection and Channel extend newly introduced interfaces

 * Recoverable for both
 * NetworkConnection for Connection

 Implementing classes already implement the interfaces
 anyway.
Refactor connection recovery tests to not shadow connection field

This has caused a lot of obscure issues with connection being
null, plus lets us reuse a bit more code.
Don't log java.net.ConnectException in default exception handler
Remove casts that are no longer needed
Remove unused import
merge heads