Add error code for timeouts

I don't like relying on `err.timeout` as an error code of some sort, so figured I'd tack on an error code for timeouts. Which error code is debatable and I'm open to changing... I saw that [request/request](https://github.com/request/request/blob/master/request.js#L920) uses `ETIMEDOUT` but I kinda felt like that should be more representative of connection timeouts. Meh?

CC: @defunctzombie