Move to OpaqueKey implementations from the external library

[LMS-2757]
Merge pull request #3931 from edx/sarina/fixup-external-opaque-keys-impls

Use external OpaqueKey implementations