Support directly passing key and certificate rather than loading from file

We make multiple connections for a couple different iOS applications, and so we store our keys in the database rather than on the filesystem. This change lets you specify a DER-encoded key and certificate as part of `#apns_connection`'s options, mimicking `ssl:connect`'s options.

Another way to do this would be to directly support setting `ssl:connect` options in `#apns_connection`. If you prefer this, let me know!

This fixes #26.

I've left this as working commits for easier review, but I can squash prior to a merge.

If you plan to merge this, I'd like to add a snippet to the README about how to use Erlang's `public_key` module to decode keys into the proper format for use with these new options.