Output D1 and D2

This change provides the ability to output formats more specific to the language version used. The D2 style isn't finalized but this gives provides a start.