Fix a subtle bug
Record timestamp on any socket activity; use this to check for timeouts.
make channels kwarg more pythonic