Pull the logger out into its own package.

Related to #282.
Fix formatting.
Add the "nop" command of each of the three types.

Close #33.