Shh reporting

Gives ehmon the ability to fire reports off to a listening [shh](https://github.com/heroku/shh) process.

It can connect via unix socket, or tcp connection to the listening shh process. Buffering and replay are supported when that connection is lost.

You need at least a catch-all function clause so that you don't just crash on an unexpected message. To make debugging possible, you should log the message. You _really_ shouldn't reply 'ok' to a random call message you don't understand - you should `{noreply, State0}`. That way anyone calling you when they shouldn't (no-one should be sending you calls you don't understand - but strange things happen in long lived systems) will get a timeout rather than a possibly misleading response.