! io: abort connection on idle-timeout, fixes #539

Also make sure idle-timeout only triggers if no write is currently
pending.
Merge pull request #552 from jrudolph/i/539/abort-on-idle-timeout

Fix 539 and fix idle-timeouts from firing during long pending writes