Issue #8: Adds ability to specify a custom header template.
Adds support for overriding the default typename nammings.