Format code (DO NOT MERGE)

This is not intended to serve as an example of what uncrustify can currently do, so I can tweak the config based on feedback.
I have no preference either way, but with how the project currently is, uncrustify gets totally confused about the intend level because it thinks the *if* template constraints are normal if statements.  Moving the base class specifiers in front fixes it.   Both styles are currently in the D spec