Retry requests also on ESOCKETTIMEOUT

`request` module sets two timeouts:
- timeout for the whole request (fails with ETIMEOUT, handled by `wd`);
- socket timeout, used when response received header but failed to
  receive data. This one fails with ESOCKETTIMEOUT and not handled
  by `wd`, so retries does not occur.

This PR fixes the problem.