On windows, send sigkill to process if it exceeds its alloted time

Timeouts did not work correctly on windows because we do not kill or
abandon the process.

What was happening was a timeout condition was getting correctly detected,
and an exception was being raised. However, before the exception could
propogate, whatever the process was writing was fully read until it closed its FD.
Add some test coverage for timeouts on windows
Merge pull request #79 from opscode/jdm/win-kill-proc

On windows, send sigkill to process if it exceeds its alloted time