Flexible lookup of MIME types from registry

Cleaned up and refined MIME registry behavior. The converters in the
registry attempt to find the best fit converter. The full MIME type is
now provided to the converter.

Parse MIME types into component parts:
- raw: the original value
- type: base MIME type (ie text/plain)
- suffix: MIME suffix, including leading plus, empty string if none (see rfc6839)
- params: key-value pairs

The converter lookup order of the regsitry is:
- exact match (application/hal+json;charset=utf-8)
- type + suffix (application/hal+json)
- type (application/hal)
- suffix (+json)