Add support for a custom cipher list passed along to SSL

This was added because some servers will either truncate or ignore
cipher lists that are excessively long during the SSL handshake. This
allows developers to pass along only a subset of the total allowed
ciphers so that these servers won't fail the handshake.