Implement multiplexing with a 1-byte 'protocol' and a two-byte 'port'.
Listeners register with either addListener() or addMuxedListener(),
depending on whether they want to hear about the
protocol, from port, and to port for every received message.
messageAvailable() only calls one listener, not all that apply.
The others call all listeners.
Instruct the client that the given session has received a message
Will be called only if you register via addMuxedSessionListener().
Will be called only for the proto(s) and toport(s) you register for.
After this is called, the client should call receiveMessage(msgId).
There is currently no method for the client to reject the message.
If the client does not call receiveMessage() within a timeout period
(currently 30 seconds), the session will delete the message and
log an error.
Only one listener is called for a given message, even if more than one
have registered. See I2PSessionDemultiplexer for details.
Instruct the client that the session specified seems to be under attack
and that the client may wish to move its destination to another router.
All registered listeners will be called.
Unused. Not fully implemented.