Introduce a very simple node (connect/disconnect) monitoring agent
Introduce a very simple node (connect/disconnect) monitoring agent
Merge branch 'master' of github.com:haskell-distributed/distributed-process-platform
Registry Improvements
Merge branch 'master' into registry-improvements

Conflicts:
	src/Control/Distributed/Process/Platform.hs
	src/Control/Distributed/Process/Platform/Internal/Primitives.hs
Cosmetic
Link the mailbox to the correct process!
Better agent-id for the node monitoring capability
Rudimentary support for logging frameworks
Add basic logging output to Supervisor
Merge branch 'error-logger'
The beginnings of a “message exchange” style API

Add basic `exchange` facility. Add simple broadcast exchange type.
Make event handler registration synchronous

When spawning new event handlers, wait until they’ve received a valid
InputChannel before returning. Fixes a race in TestExchange.

Tidy comments and remove some compiler warnings.
Refactor (document and simplify)

Document the EventManager and provide a simpler interface for adding
event handlers, allowing for raw messages as well as specific event
types.
Add Routable instance for Mailbox
Add a simple exchange based routing mechanism

Influenced by Akka’s “routers”, but with an Exchange-flavoured design.
Add a new spawn primitive that synchronises on a ‘before’ action
Strip debugging expressions
Use spawnSignalled in our Router tests to avoid a silly race
Test selective (key based) routing