Add basic support for Node readable and writable streams

Since messages are just strings, this is an obvious feature. Works
really well, but there are probably edge cases to consider in the
future.