Parse the short-lived slashes and locations syntax

which solutions bravely picked up

@mattdrayer @doctoryes please review (and matt test on his stuff)

Matt, do I need to patch Aspen or will you just change your requirements.txt files to use this?
@nedbat ^^
Our first impl of opaque_keys used the `location` and `slashes` namespaces and formats. Solutions began relying upon that serialization and using that version of opaque_keys. After we thought we were done, we were told that we could not change the syntax of i4x locations nor slashed key ids; so, we did major refactoring which solutions is just now integrating.