Add support for updating documents without an Object ID

This changes allow documents to be updated when their `_id` isn't an
Object ID. This is made possible by the changes introduced in 01a8742.

Currently this only works for updating existing documents. When
`Model._update()` performs the save, it determines whether to call
`insert()` or `update()` based on whether or not the instance's internal
document already has an `_id`. If it does, `_id` will be removed from
the document and will be used as the spec instead.

References #18