Use "default" DSL in Chef::Config to make reset possible
Don't do extra work recreating the chef_fs every time in knife serve
Fix data bag upload to not include extra chef_type/data_bag keys
Fix new tests on Ruby 1.8.7
Don't report random files in json dirs (like roles/environments)
Don't list local cookbook files that wouldn't be uploaded
Support chef_server_url 'local' and create knife.rb if none exists
Save children after creating
Support chef_server_url 'local' in all knife-essentials commands
Support all chef-client options in knife converge
Add --cookbook-version to knife download and knife diff
Make knife raw --pretty work
Fix raw json option with redirect tests
Add tests for raw --pretty and --no-pretty
Don't run raw json test on 1.8
Output cause of error when FileSystem.copy_entries method was failed.

- befor the change

    $ knife upload nodes/node.json
    ERROR: nodes/node.json failed to write: HTTP error writing: 400 "Bad Request"

- after the change

    $ knife upload nodes/node.json
    ERROR: nodes/node.json failed to write: HTTP error writing: 400 "Bad Request" cause: {"error":["Invalid key test in request body"]}
Change OperationFailedError itself to include the body in "message" if it's a 400.
Update the cache when a parent is created

If multiple data bag items are specified on the command line to be
uploaded to a data bag that doesn't exist the first will be uploaded
but the next will fail with a 409 CONFLICT.  This is because each item
caches the fact that the parent doesn't exist and tries to create it.

This adds the first created parent to the cache such that subsequent
items do not try to recreate it.

Fix for issue: https://github.com/jkeiser/knife-essentials/issues/107
Invalidate "children" caches when children are added
Make knife.rb a config_context