Implement heartbeat

Closes #1 
IRL we talked about how the service that's collecting this data wouldn't really have to be Riemann, it could be something else completely. Taking that into account, this `Heartbeat` object which seems to be independent of the collecting service being used, doesn't need to know we're using `riemann` - instead it just needs to receive an interactor (or stats or some-other-better-named-object) where it can then just use the `#state` method on.