Add OpenSSL.crypto.verify_chain method.

This change adds support for verifying a certificate or a certificate
chain. This implementation uses OpenSSL's underlying X509_STORE_CTX_*
class of functions to accomplish this.

This change also adds an intermediate signing certificate/key and a
service certificate/key signed with the intermediate signing
certificate, to make testing the OpenSSL.crypto.verify_chain method
easier to test. I figured I would add it to the top level module so
other people can use an intermediate signing certificate in their own
tests.

Issue: https://github.com/pyca/pyopenssl/issues/154
Friendly reminder that two parallel implementations are provided in this PR, and I'm wondering which people prefer so I can blow away the other. In a nutshell, approaches I took are:

  1. Provide a `verify_chain` method that adds a little bit of application logic to pyOpenSSL to validate certificates.
  2. Provide access to `X509StoreContext` object and `verify_cert` function from native OpenSSL.
  3. Other ideas?

I'm leaning towards option (2) because it follows the OpenSSL API more closely, and lends itself to future expansion by exposing the `X509StoreContext` object directly.