Added support for HTTPS cert & key

Currently `request` does not support some of the options from node core `https.request`. _This pull request adds support for `key`, `cert`, and `rejectUnauthorized` options._


Including full list from [nodejs.org/api](http://nodejs.org/api/https.html#https_https_request_options_callback) for reference
>The following options from tls.connect() can also be specified. However, a globalAgent silently ignores these.
>
>* pfx: Certificate, Private key and CA certificates to use for SSL. Default null.
>* key: Private key to use for SSL. Default null.
>* passphrase: A string of passphrase for the private key or pfx. Default null.
>* ca: An authority certificate or array of authority certificates to check the remote host against.
>* cert: Public x509 certificate to use. Default null.
>* ciphers: A string describing the ciphers to use or exclude. Consult http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT for details on the format.
>* rejectUnauthorized: If true, the server certificate is verified against the list of supplied CAs. An 'error' event is emitted if verification fails. Verification happens at the connection level, before the HTTP request is sent. Default false.