WIP merge locators locations

@cpennington @flowerhack - this is still failing a number of tests. I am working on this now.
Should this function also test for bad `run` id? Like this:
`with self.assertRaises(InvalidKeyError):
              CourseLocator(org='test', course='test', run=bad_id)`