Issue127: Introduce MetadataExtractor

Extracts metadata according to a json configuration from a componentTree
if true?
The metadataExtractor is always present as it's set in the constructor.