Improving request normalization

Moving all normalization logic to a single function and passing resulting request object directly to `http.request` without reassignment which caused some params loss (`socketPath`, `auth`).
Should I do the same in the v2 branch?