Included tests for required fields (checks primary key is required as well). Switched from using SuperClass.__init__ to super(). Added constructor for EmbeddedDocumentField.
Added __init__.py info to package, moved TopLevelDocumentMetaclass to base.py, added tests for dictionary-style access.