Versioning

Adds the ability to version templates, as described in #26