Pass in client side certs and keys in pem format

The client side certs and their associated private keys can currently only be read in as a file path.  Added support for passing it in as a PEM encoded string.  To prevent the private key from being read out of memory, this data is then dumped into a Tempfile and then read back out, similar to the way it is done currently.  Also added tests to ensure this works properly.