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
cosmetic
tiny refactor on variable_queue_with_holes
cosmetic
eliminate "Function X has no local return" dialyzer errors
add xmerl to plt so we get fewer 'Unknown functions' in dialyzer
mochijson2 depends on it
merge default into bug25397