External nodes

Baking in the concept of "external nodes" that can be used in integration testing, relying on the in-memory transport:
* Nodes will record messages they receive so you can assert your system under test sent the right messages
* Messages can be sent to the SUT from the node to mimic the system receiving a message from an external system.
* Nodes can subscribe to published messages from the SUT.

I've added a sample StoryTeller project to demonstrate how the external nodes can be used.