PEP8
Add a comment

This comment explains why the end result of `push()` is being checked.
Add a method to perform pull operations

This new `pull()` method can be used to perform atomic `$pull` and `$pullAll`operations on the fields of an instance. It will perform the update and reload the changed fields.

Along with these change, the wording in a comment inside `push()` is being updated to better express that the `defaultdict` behavior is not unique to it, as `pull()` also uses it.

Closes #14
Closes #15
Add additional tests for push() and pull()

These tests operate directly on the `_update()` method and make sure the fields are being updated.

References #10
References #11
References #14
References #15