COOPR:629 Update template APIs to support extending templates and including partials

@jwang47 Branch ready for review.
Since we have partial templates this fields can be empty. So I moved this checks into Merger.validateFields() that it can be validated when the template will be merged.