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 them in the database rather than on the filesystem. This change lets you specify a DER-encoded key and certificate, mimicking `ssl:connect` 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.