Lower-precision timing

Using on my Windows machine, the precision of the timing was lower than the equivalent *nix machine.  I suggest using >= to compare the timeout vs just > 

Likewise in the tests, my "total_time" was frequently coming up 0.000 (wow my machine is fast!), so I had to adjust the timing comparisons.  Also in the PassTime and PassReturnValue tests, it makes more sense to test ( expect(time).to be > 0.001 ) since that is the timeout threshold, no matter how long the test slept.