Break generator commands into seperate files

This commit breaks the generator commands from one big file into
several smaller ones, and requires them. As we expand the number
of generators, we're naturally going to wind up having more than
a handful - which makes the giant file, and its equally large
rspec test, unwieldly.

In addition, it adds Guard support (for faster test results) and
fixes a bug where the error handling in CookbookCodeFile descendents
triggered hard failure in getopt due to lack of passing the params
in. This caused tests that were run with an rspec option to fail,
as the repeat call to parse_options would pick up the default
argv, rather than the mocked argv supplied in the specs.

No changes to the code happen at all, other than location and the
small bug fix.