Implementation of CourseLocation keys
reorder and rename args for functions in access.py
First step towards updating asset functions to use AssetKeys
Remove nearly all uses of CourseDescriptor.id_to_location
Consolidate uses of course_from_id
Rename get_item_errors to get_course_errors
Refactor to opaque keys
Convert *most* uses of has_item to just use a usage_key
Refactor cms create_new_course
Fix up calls to get_course to use course_ids
Make clone_course use course_ids
Rename class so less confusing
Remove get_instance (and import CourseKey where needed)
Handle old-style course ids
More fixes to tests, including factory_boy changes
Clean up old-school course_ids into CourseKeys
Make namespace separator a class variable
Clean up xmodule tests
Fix more xmodule tests
Make Location into a UsageKey