Convert Chef Zero helpers to instance methods

* Prefer instance methods to class methods for Chef Zero helpers.
  RSpec's design and feature set heavily favors using instance methods
  for test setup. This change will allow us to use let bindings and more
  naturally move common setup to shared contexts.
* Temporarily copy ChefZero's RSpec features in-repo. master of Chef
  Zero is currently broken for unit testing. Copy the changes here for
  now so we can make progress.
* Automatically generate a metadata file when using the "cookbook"
  helper function. This will be needed for a subsequent change that
  makes `name' required in metadata.
Fix expected format of JSON errors in integration tests

The format was previously not stable because chef-zero (or other test
code) would `require 'json'` and undo ffi-yajl's monkey patches to the
JSON gem. We would probably be better off if we can get out of the
business of monkeypatching JSON or attempting to provide compatibility
at all, in which case this commit could be reverted.
Merge branch 'integration-test-refactor'