Codec options passthrough

This adds a CodecOptions method to context.Context, which returns the map that is passed as the options value when calling codec.Marshal on the chosen codec in API responders.  This allows custom options to be passed to the chosen codec.