Rename Failover class to ConnectFailover
Introduce Channel API.

This is a major refactoring of the messaging code with minor api
changes.