Reduce duplicate events

Because of #16 there is a possibility for multiple `change` events to be emitted on a single write.

Previously these would turn into multiple `contents-changed` events because of the way old contents was compared to new contents, it wasn't taking into account whether a two reads were occurring at once.

Now a `contents-changed` event is only emitted when a read occurs that generates a digest that is different from the last digest that an event was emitted for.

Feedback welcome.