Use awaitdata: true on tailable cursor for better responsiveness.
New features:

- add the concept of a backlog of events
- handle the fact that mongo ids are not stricly increasing over time
Do not emit 'error' events for errors handled internally.
Detect and handle sync lost errors and collection deletion.

When I added preroll and backlog handling I reduced robustness
to collection deletion. I added back the creation of the collection
when ever we lose the cursor. If we lose the cursor because the
collection was deleted, we will recreate it with the capped flag.
If we don't call create before writing, the collection will be
recreated by mongo automatically on write and it won't be capped.

Still, it is not perfect because a publisher can still trigger
a creation on write by mongo. That problem was already there.
Update package.json and fix typos and comments.
Merge pull request #1 from 117nord/fixDuplicatedEvents

Fix duplicated events