WIP: refactor into stream interface

Hey!

This is an attempt to the refactoring design discussed in MAAS week.

@robert-chiniquy worked on the original version and then we worked on this together.

Currently it's on `443` so either use `sudo` or change the port number in the code :-)

```
npm install # install dependencies
make # generate certificate
sudo node examples/heartbeats-only.js
```

Any thoughts?
Yeah we'll have to add in some QOS measurements. I think the latency used currently is the heartbeat latency. It seems like there may be some notable insight into the factoring of features there, let's think about it.