Structure the code using Bakery (this).

Add .recipe and .ingredients files for bakery itself.
#3 Add copyright notices to files.
Add the environment parameter to main for C++ files.
Replace some methods with aliases.
Use File.join where oppourtune.