Make waiting for the release of the lock optional in RunLock class.
Add a simple HTTP client without json/authN support
Convert remote file to use simple http
Fix Chef::HTTP dependence on subclass methods
Convert http_request provider to HTTP::Simple
CHEF-4515: upload sometimes inflates JSON.  Fix by using true raw version of Chef::REST
Use new Chef::ServerAPI API class in upload/download/diff
Add "get_json" helper to upload/download root dir for people who want json
Remove :raw_input option to JSONInput, use Chef::HTTP for knife raw
Make --local-mode option so that local user can run local recipes
Pick up knife config instead of /etc/chef/client.rb if local mode is specified
Use RunLock while daemonizing which is based on flock to prevent race conditions.
More test cases for run_lock to cover the functionality used during daemonizing.
Implemented changes related to  diff-lcs for knife diff
Changes to remove redundant code and use chef/util/diff for knife diff
Implemented review comment
Merge pull request #1038 from opscode/adamed-oc-8694

OC-8694: Use diff-lcs in knife diff
Retain the runlock created during daemonization for the lifetime of the process.
Rename -. to -z
Fix unit test against new -z argument