first pass at Template class with `node` and `map` implemmentations

This is just a basic first pass.  This sets up the data stack handling
and given block evaluation logic and implements the spec for each
method.  This is the basic api and building blocks for evaluating
template source files.

Having this in place, the next steps are to apply any given locals
and then process/eval any given source file.

@jcredding ready for review.