API: timeouts are in seconds

This is for discussion - do not merge!

In this branch, I have converted all mentions of timeouts to use seconds as the units.

It still has a timeout in connect. We could remove it and say that connect uses the value of the endpoint-scoped send timeout (which is 0 (no timeout) by default).