Windows support for Chef::Runlock.

This ensures that if someone does a manual chef-client run, it doesn't fail if the chef is configured as a service on windows and if there is a chef-client run happening right now. The newly started run will wait for the old run to finish and continue after it.
Clean out the comments and reorganize code in run_lock.rb
Disable concurrent solo tests on ruby 1.8.7 because Process.spawn doesn't exist.
Merge pull request #1046 from opscode/CHEF-4470

CHEF-4470: Running chef-client fails when chef is running as a service on windows.