Make _validate a class method.
Handle error messages more generically.
Add DocumentType to support subdocuments.
Integrate CursorIterator back into Cursor to implement better __len__
function.
Make generated _id field not required so as to not break validation.
Copy the default document field values so that documents are actually different.
Create an __init__ method for initializing document values.
Add remove method to Cursor.
Clean up document initialization.
Add document tests and fix problems they uncovered.
Increase connection test coverage.
Prune unused branches.
Add coverage configuration.
Increase document test coverage.
Increase cursor test coverage.