Add OpenSSL.crypto.verify_cert 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
Note, that it is especially painful to handle this because I cannot use any of the `OpenSSL.crypto` types without introducing a circular dependency. If I were to move this code into `OpenSSL.crypto` I could parse the certificate/subject/whatever however you like, but then the error handling code won't all be conslidated in  `OpenSSL._utils`. Another option could be to duplicate some code into this module to handle certificate/subject inspection nicely. Yet another option would be to refactor some of the `OpenSSL.crypto` code so that we can simply use it in both places.

Any ideas here would be appreciated.