Refactor decoders to include what media types they can operate on
Fix bug in MediaType matching discovered by EntityDecoder tests
Cleanup.
Add some docs and TODO's before merge.
Merge branch 'topic/decoders' into develop