Handlers.forReceiver: compare true for equals() with equal arguments
 - factored into class Handlers.ForReceiver
 - rejects null input
Node: extend Endpoint instead of Handler
 - upstream link is now a part of the Node itself
Remove Receiver/Handler distinction, simplifying a lot of types
 - remove Handler, GenericPipe
 - ReceiverList is now generic on type of object, not type of receiver
 - Pipe now is generic -- implementors define semantics
 - PipeImpl -> ListenerPipe
 - FutureHandler -> FutureReceiver
rename HandlerPipeImpl -> HandlerPipe, remove Handlers.forReceiver
 - move Handlers.tryHandle -> HandlerPipe.propagateFirst
 - create similar ListenerPipe.propagateAll
 - remove Handlers utility class