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

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.

CI run across platforms tonight :)

@adamedx / @danielsdeleo / @lamont-granquist thoughts?