Merge of new validator with tests

Per @gvwilson request (issue #34).
What about replace this look with

~~~
    for template_name in LESSON_TEMPLATES:
        if re.search(LESSON_TEMPLATES[template_name][0],
                os.path.basename(filepath)):
            return template_name
~~~