Test the result of showing a non-existent cookbook
Add more structure to spec helpers

This ought to provide enough structure to do things like have a test
create a different test cookbook than the default, add new versions to
that cookbook, and so on.

It's a tad verbose at the moment. A custom matcher would clean up stuff
like CommandOutput.new and KnifeOutputFixture.new, but in practice the
output from failures is less legible. I'd prefer to hold off on DRYing
the object construction until it's clear that we can do so without
sacrificing spec failure comprehensibility.