Move fileExtension() to Format, means I can inline the MarkdownFormatter class.  Now there is just TemplateFormatter that you can configure at construction time with and escaping rules and post-expansion filters for specific file formats.
A YamlFormatter, to be used as a fallback format if a template cannot be loaded
Pearlfish falls back to YAML formatting if a template is not found.