basic template class with source file and locals

This is a firest pass at the basic template object.  Right all it
does is take a source file and optional locals and sets up the
template state.  This template object will be what is rendered.

@jcredding ready for review.