Improving timeout behavior and documentation

See #392 
Do you think it would be better to put that check into `sanitize_timeout!` as well?