Added load_ssh_rsa_public_key to hazmat.primitives.serialization to allow for loading of OpenSSH RSA public keys
Also added load_ssh_public_key as a generic method that can be later extended to support more public key algorithms.
Privatized the load_ssh_rsa_public_key function and fixed some coverage issues on test_serialization.
Standardized the assignment statement for str_key in TestSSHSerialization.
Minor documentation corrections for load_ssh_public_key
Removed redundant tests for _load_ssh_rsa_public_key since it is now a non-public part of the API and made a number of minor changes to tests and documentation
Added better parsing for RFC 4251 string and mpint values.
Also moved several of the SSH key splitting and validation checks up into the load_ssh_public_key method since they will apply to more than just RSA.
Added additional checks to make sure the key doesn't contain extraneous data
Made a couple of minor tweaks to clean up _read_next_string and _read_next_mpint
Added optimization for Python 3 to use int.from_bytes instead of Python code
Adding more cffi bindings to openssl backend.

- specifically adding items relating to X509 certificates.
A handful of tiny fixes
two flake8 fixes
Added two more tests to get coverage back up
Merge pull request #1527 from alex/pr/1517

Added SSH public key loading
initial x509 openssl implementation
initial x509 version support

Adds enum34 as a dependency
move x509 to top level, add more docs
update docs, test invalid x509 version
add x509v1 test
improve x509 load error handling
improve tests, remove some outdated comments