Prepare for building many sorts of programs

I'm going to attempt to push out more than just my "shortest_path"
program.