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.
Yep, this patch looks good. I think if we do want to optimize the performance of `chef generate` beyond the current situation, I'd favor creating a new commands map for the generators, since it includes the description which allows us to make the `-h` case really fast. @adamhjk I'm interested in what you have in mind for "some refactoring that makes creating generators easier," maybe create an issue that describes what sucked about your experience so far?