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

Base abstract template / persistence layer / base tests for partial templates.
What's the final phase?