pthread_cond_timedwait() does not normalize tv_nsec

pthread_cond_timedwait() on several OSes (including Linux and MacOS X) apparently does not normalize tv_nsec. A timeout with a tv_sec of 0 and a tv_nsec value above 1000000000 seems to give a zero timeout.

Make co_wait_timeout() normalize tv_nsec.