Metamodel: introduce ProducedType, TypeDeclaration, Union and Intersection types #226
implement produced type metamodel #226
Moved metamodel into runtime.metamodel #226
Moved metamodel util into its own Metamodel class #226
metamodel test: now use ProducedType #226