https, tls: Cache sslcontext on Agent options

This avoids re-running crypto.createCredentials() on each request,
which can potentially cause a certificate bundle to be reloaded and
parsed from disk or a buffer. The context can be safely cached since
it is only seeded by the options on the Agent anyway.