Remove unneccesary checks for method existence
Clarify thread-safety of bulk_write context manager
Add bulk operations to split modulestore
Extensive testing of bulk operations
Add tests to show that reading a structure before versioning it breaks versioning
Make it so that versioning a structure that was read from the database works correctly
Improve check_number_of_calls family of methods
Improve debuggability when call-count numbers don't match up
Make find_matching_* work during split bulk operations
Remove qualifiers from get_courses
Add memcache as a requirement for running paver, because it's imported in pavelib/utils/envs.py
Make path_to_location use bulk_write_operation for performance.
Work around for split not having a coherent way to work with/track updated versions of structures
Push bulk_write_operations up into ModuleStoreRead, and rename to remove reference to writes
Merge pull request #4780 from cpennington/split-bulk-operations

Implement bulk operations on the split modulestore.