Add support for custom HAL media types.

* Use hrHalExtensionProvider.mediaTypes for registering
  media types to be treated as HAL.
* Tests.
* Docs.