Aaron: versioning of library

Future changes may make break current templates. Instead of handling errors as
they happen, we can be proactive and warn the user about incompatible templates
before they are parsed.