basic functionality of beautiful formatter
remove empty tokens
rearrange code to improve readability/editability
do not put a blank line at the end of output
lay pipework to connect all pieces together
add features as a default task.

Now it will be run as part of the CI cycle.