Start to split out day 2 code (work towards issue #20)

Also update the process-code.py script to use just one
mechanism to launch subprocesses, and output the commands
it runs before running them.