Added reformatting target to build.

This adds the ability to `make fmt` and have all the source
automatically reformatted to match the coding style.

Note: the `c-style` implementation isn't perfect, and there's
something odd going on with the alignment of braces following a
constructor initialiser list. Fix these later.
Reformatting files according to style.

Seems some edits had introduced tabs and other dodgy spacing.