Fix to make it work on Windows. Closes #1.

Use of 'signal.sigalrm' has been drpopped in favour of timers ('threading.Timer') in order to make the script work on Windows and, by extension, on any other platform, since 'threading.Timer' is available on all platforms that Python is able to run on.

In addition, the exception raised on Windows when trying to access
'errno.ETIME' has been handled, because this variable does not exist on
Windows. In case it does not exist, 'errno.ETIMEDOUT' is used instead.