http client: allow config timeout per request
http client: rename request => async-request for clarity
http client: remove socks proxy support
http client: experiment async-get async-post async-request
async-request return a promise