Fix common name mismatch issue (eg. yahoo.com) by inheriting
certificate extensions from cert returned from real server.

Add certificate caching in HttpsProxyServer based on host name and
original host cert.  This ensures requests that get the same real
server cert will also get the same same dummy cert.