Add support for external notifications (e.g 0MQ)


Modify to support Asynchronous notifications that can be routed over a bridge, however unlike the inprocess notifications the Transmit method will return Indeterminate as the status cannot be know.
This can then be routed via a separate method (e.g. http://www.zeromq.org/ or native UDP). Add support for 0mq to the core or as a plugin
The model for Asynchronous notifications is different - they can be notify only or result in a return AsynchronousNotification that is the result of the incoming notification that will be received by an incoming bridge and dispatched. Matching of outgoing/incoming is via the UniqueID - however this isn't a recommended design - it is much better to design the Notifications such that the Outgoing results in an Incoming that is handled seperately.
e.g. for User Authentication
  1. Transmit UserAuthenticationRequest
  2. ReciptStatus indeterminate (sent out)
  3. (Later on) UserAuthenticationRespose received via bridge
  4. Handle UserAuthenticationRespose - probably within the same class that made the request in the Receive method.