simplifying refactor on rabbit_mnesia:discover_cluster
various reader related changes for AMQP 1.0
- mechanism for the reader to 'become' a different reader.
- become the 1.0 reader if an AMQP 1.0 header is presented by a client
  and the reader is present. That way we can support 1.0 on the same
  port as 0-{8,9,9-1}.
- defer starting of the channel_sup_sup and do that in the
  reader. This allows the AMQP 1.0 reader to start its own versio of
  the sup. It also makes aborted connections less costly.
- track connections in an ets table rather than implicitly via the
  supervisor. That way AMQP 1.0 connections can exclude themselves,
  since they are already tracked via their direct connections.
fix test
connections only show up in 'list_connections' after the protocol
header has been sent
merge bug25383 into default
merge default into bug23749