Implement support for vnd* content type formatting

With this PR I am trying to introduce support for formatting a wider set of content-types: in my working environment I often have RESTful services that return content-types of the form `application/vnd.something.someotherthing+json`. This is a pretty commonly used way to express content types and it is also used in some [popular APIs](https://developer.github.com/v3/media/). 

With this patch everything before the last `+` in a content-type will be dropped and the content-type itself will be normalised (e.g. `application/vnd.something.someotherthing+json` -> `application/json`) before trying to guess what kind of formatting can be applied.