Make waiting for the release of the lock optional in RunLock class.
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.
Retain the runlock created during daemonization for the lifetime of the process.
Rename -. to -z
Fix unit test against new -z argument
Add --local-mode / -z parameter to chef-client and knife

This mode makes it so that a normal user can run chef-client with no configuration, and it will pick up cookbooks and other data from the local directory.
Merge pull request #1035 from opscode/CHEF-4556

CHEF-4556: chef-client service starts at every run of chef-client::service recipe
Merge remote-tracking branch 'upstream/master' into CHEF-4591