Adding documentation for Compile methods on Template
Refactoring to Visit pattern for Part compilation.  Still have to do the same for ValueGetter/ValueGetterFactory.  (This is an optional refactoring, but it really helps separate the compilation stuff from the rest)