Make waiting for the release of the lock optional in RunLock class.
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.
Merge pull request #1035 from opscode/CHEF-4556

CHEF-4556: chef-client service starts at every run of chef-client::service recipe