Issue127: Introduce MetadataExtractor

Extracts metadata according to a json configuration from a componentTree
You're right. I've expressed myself wrong. It's up to us whether it's set. It's kind of a private api.
So in the current state of this class, the metadataExtractor is always there which implies that the `if-statement` is not needed.