http: invoke createConnection when no agent is passed

This makes it so that the user may pass in a `createConnection()` option,
and they don't have to pass `agent: false` at the same time.

Also adding a test for the `createConnection` option, since none was
in place before.

See #7014.