Refactor split migrator

LMS-2936

Also, a bunch of ancillary cleanups.
Removed a bunch of loc_mapper code
Cleaned up offering now being course and run in a few places
Removed extra db queries

Replaces https://github.com/edx/edx-platform/pull/4357
Because split saves the run separately from the block_id and doesn't use the run as the block_id for the course root (as there may be many courses with many runs using that block).