closes #39
added tests
closes #40, by being smarter about how options are dealt with (e.g. subclass templates and partials get preparsed)