Add support for creating documents without an Object ID

A change was introduced in 605088a that allowed documents with values
for `_id` other than Object IDs to be inserted. These changes allow such
documents to be created as well.

This is made possible by performing an upsert. I imagine there is
probably a way to do this that doesn't require always using an upsert,
but that will probably require a refactor of `Model._update()`.

Closes #18
Clean up

Use the reStructuredText `note` directive for notes that need to stand
out in the documentation instead of trying to draw attention to the note
using boldface.