Fixed several deprecation issues

Changed _key property in OpaqueKey to no longer use type

added usage_key_from_deprecated_string

added replace for AssetLocation, Location, and SSCK

added _from_deprecated_son to AsssetLocation

added course_key kwarg check for LocationBase

Added Testing

Moved deprecation warning for i4xEncoder from default to __init__

Cleaned up offering handling to work with deprecation

LMS-2923