register-codec doesn't need to be a bang operation.
Clean up codecs a bit; use new try-resolve-throw.
Show available codecs when there is no match.