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
@exarkun let me know of what you think of the alternative implementation I just pushed. It exposes the API for `X509StoreContext`. I didn't fully implement the `X509StoreContext` class in this change (and probably won't because it's a really big class in the native OpenSSL) but it would at least give us the starting points for implementation when issues come up asking for it. As is, we can use it as a parameter to `OpenSSL.crypto.verify_chain`.

If you like this way better, I'll convert the rest of the testing over and delete the implementation we talked about in this thread.