New threads should be added to the end of the list

If there are multiple threads using sleep(0) for example, the new threads are
always pop'ed first and may cause a starvation problem for existing threads.
Now threads are handled in the order they were added.
Fixed maximum allowed timeout for select

When there are sleeping threads, select can't be blocking (timeout is nil) and
we must use the lowest possible timeout.
Merge branch 'fix_timers' of https://github.com/shmuelzon/copas into fix_time_precision
updated use of os.time() to socket.gettime() becasue latter has higher precision
applied some 'google translate' on Russian comments
fix os.difftime
Merge pull request #10 from Tieske/fix_time_precision

Fix time precision