Added convenience method for input properties of complex sample vcard for
future tests ('John Doe Example') and sample raw .vcf in tests/vcards.
Improved unit test coverage.
Improved unit test coverage. The essential features of templates (literal
output, lookups, conditional output, iteration, recursion, and fallbacks)
are all covered to provide a foundation for refactoring.
Formatting.
Cleaned up ugly parsing loop.
Second major refactoring pass. Refactored into a non-static class with fields
to store the working set. The collections of named html fragments are now
called 'fragments' to distinguish them from the Template instance.
More consistency in identifier naming.
Implemented factory methods for Substitution, used it to clean up some
of the parsing logic and eliminate potential mismatches. Need further
refactoring, particularly where the iteration over property values is
concerned.