Added a TemplateInfo class to contain metadata about a template. Defined a
better structure for adding that metadata to .ini files. Edited the .ini
files to reflect new structure. Added a TemplateInfo to Template and some
convenience methods. Added testcases and updated existing unit tests.