tests: add custom handler tests
Remove "preferred" prefix from Negotiator methods.

This prefix was deprecated.
Make media types more easily extensible.

The mediaTypes object is now exposed. This allows one to add custom
handlers for specific media types. It also makes modifying the existing
ones simpler as they use the same API.

The existing tests pass.
Test custom media type responses.
Preserve backwards compatibility.