Adapt windows_service to be compatible with win32-service 0.8.2.

This fix ensures that service waits for chef client run to end if there is one in flight when the service is shutting down. It also makes service exit cleanly when there is no chef client run in flight.
Merge pull request #1098 from opscode/win-service-fix

Adapt windows_service to be compatible with win32-service 0.8.2.