support version locks

based on this upstream pull request
https://github.com/MongoEngine/mongoengine/pull/276
Is there or is there not a identity map in mongoengine? IOW is the new todo_list different from the old todo_list?

This could actually be asserted in the test:

    self.assertNotEquals(saved_todo_list, retrieved_new_todo_list)