Add support for mapped fields to membership test

In order to properly perform a membership test on a `Model`, key names need to be mapped. For example, without this change, the statement `'id' in m` would evaluate to `False`.

In addition to a new test to test this behavior for `__contains__()`, tests are being added for `__delattr__()`, `__getattr__()`, and `__setattr__()` as well.
Add a unit test for resaving

This test mostly serves as a sanity check that a document fetched from the database can be resaved without screwing up the `_id`.
Adjust docstring

I try to always include a `.` in the opening line of docstrings. I don't always succeed.
Begin support for PyMongo 2.4

With the release of PyMongo there are two significant changes. First, `Connection` and `ReplicaSetConnection` have been marked as deprecated in favor of the newly added `MongoClient` and `MongoReplicaSetClient`.

The second change is how the new classes handle write concern. By default write concern is now enabled and can be controlled through the `w` parameter. At this time I'm still using `safe`, but since this, too, is now deprecated I'll probably make the change to `w` in the near future.