Description
Although 0-x specifies a "no-name" default "exchange" that behaves like a direct exchange where the queues are bound to the exchange with a binding-key equal to the queues name... Given the advent of 1-0 it is perhaps more consistent to think of it as a "routing node" which will take whatever is in the routing key of the inbound transfer and use that to route to the appropriate destination (whether this be a queue or another node).
As a first step to implementing this, we should change the implementation detail internally such that the "default exchange" is not presented in the set of "Exchanges" and doesn't implement the Exchange interface.
For 0-x protocols we can "fake" it's existence as an exchange for operations such as exchange declare / delete / bind / unbind / query