X509Backend support in OpenSSL backend

This PR adds a dependency on `enum34`. I am expecting some improvements to be needed in the docs along with potentially some comments required to explain the purpose of some of the tests.

Depends on #1498.
That's a reasonable point. I'd ultimately like to try to build an API that can tell you if a certificate is valid or not, but that'll obviously require trust roots, common name/SAN, revocation checks, chain building, etc...