CLOUD-252 implemented skeleton of template system

are these interfaces really needed? it looks really ugly and the ResourceBuilder interface contains a resourceBuilderType() method anyways.