[Ready for merge/review] XD-1050: Allow plugins to provide Options Metadata

~~Note: won't build, see below~~

This adds support for a composite ModuleOptionsMetadata that is made of several MOMs and "flattens" them (as opposed to have them in a hierarchy, which will be introduced for CompositModules)

Also changed the behavior when no explicit metadata is provided to scan for ${foo} placeholders.

Lastly, changed the MOMResolver to be itself a delegating resolver that will merge the actual module metadata and inputType/outputType related MOMs as needed.

~~NOTE: this does however currently not build, as now an actual Option of type MediaType is needed everywhere (including in TypeConvertingStreamTests where previously a simple String was used [Dave's type system accepts a plain class name as a shorthand for application/x-java-object;type=xxx]). I did not fix/change those because, what this actually highlights is that this support was broken everywhere we used the Pojo approach anyway.~~

~~So we can decide to do three things I guess:~~
- ~~continue to support this~~
   - ~~either by using eg a plain String~~
   - ~~introducing a custom converter from String -> MediaType that accepts this lax syntax~~
- ~~drop this and require the use of a well formed MediaType~~