std: Make the TCP/UDP connect_timeout methods take Duration

[breaking-change]
std: connect_timeout requires a positive Duration

This is only breaking if you were previously specifying a duration
of zero for some mysterious reason.

[breaking-change]
std: Refactor time module a bit

Put `Duration` in `time::duration`, where the two constants can
be called just `MAX` and `MIN`. Reexport from `time`.
This provides more room for the time module to expand.