Add support for .PEM public keys, with tests and docs

Added the ability to load and perform functions with RSA and DSA public
keys when the files contain public keys only. Also added test functions
and OpenSSL-generated files to test the new code, which all pass on
Windows 7.
You need to have two `with` statements here, otherwise the first atement raises, the `with` statement catches it, and the second is never run. It should look something like:

```py
with raises_unsupported_algorithm(_Reasons.UNSUPPORTED_SERIALIZATION):
    backend.load_pem_private_key(b"keydata", None)
with raises_unsupported_algorithm(_Reasons.UNSUPPORTED_SERIALIZATION):
    backend.load_pem_public_key(b"keydata")
```