Recipe refactor -- proposed changes before adding clustering support

I think we need to break up the default recipe into smaller, more manageable pieces - as it stands now, writing a wrapper cookbook is difficult. Here are my proposed changes. I am struggling with getting the tests to pass - the memory used is not matching what I expect, and I would appreciate a second set of eyes.

@juliandunn and @protip, I'd like to hear your input.