[Http] Rationalize timeout behavior between adapters

Hey!

This PR rationalizes the timeout behavior across adapters. (curl only set timeout for connect whereas the socket sets it for connect/read timeout). Additionally, `CURLOPT_CONNECTTIMEOUT_MS` and `CURLOPT_TIMEOUT_MS` has been introduced in curl 7.16.2, so if it is defined it is better to rely on them because they are more precise.