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.