Implement bulk operations on the split modulestore.

Did you verify that it does the right thing if `destination_course == source_course.replace(branch=destination_couse.branch)` (which is the dominant pattern)?