avoid infinite loops on windows.

upgrading a shared lock to an exclusive lock does not appear to be portable
and definitely does not work on native Windows build of Perl (eg Strawberry).
Instead grab an exclusive lock.  Also, set a timeout and die in case the
lock does block forever.
Merge pull request #8 from plicease/windows

avoid infinite loops on windows.