Undo #407
Implemented upsert.
Updated upsert for bulk actions.
Updated bulk to support scripts directly.
Make Scripts first class citizens.
AbstractDocument should use setData() to support scripts and documents.
Added more methods to use scripts for updating in bulk.
AutoPopulate is not required for scipts.
Updated tests to work with changes.
Simplify AbstractDocument::create()'s type checking.
Updated and added some more tests.
Formatting.
Formatting.
Update changelog.
Updated type checking for AbstractDocument::create().
Bulk updates also support doc_as_upsert.
Added tests for bulk api using doc_as_upsert.
Updated changes.
Added back deprecated methods to throw an exception.
Fixed changelog.