Make CourseKeyField stricter

Puts a strict enforcement on "we should ONLY be passing in SlashCourseKeys and we should ONLY be pulling strings from the DB."

This will cause several hundred assertion errors.  I'm so sorry.

"Your pain is the breaking of the shell that encloses your abstraction"