Fix a typo in the unit test for Net::Ping::External and change the implementation for Windows

I had a typo in the test code for timeouts in Net::Ping::External; that was making the test pass even if the timeout wasn't enforced. I reimplemented it using the '-w' option of the Windows version of ping (hoping to avoid thread/process management entirely), and it seems to work now.