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.
Rebased on pyca/master and reformatted

Rebased pem_public_key branch on pyca/cryptography master branch to include
new changes, then corrected errors pointed out by pep8 tests
Initial cleanup
Reorder
flake8
Try to simplify
Remove duplicate class and fix name
Added some docs
Added a unit test
A test for DSA
another test
Forgotten file
Tests for multi backend
Remove passwords for public keys
document the interface
Merge branch 'pem_public_key'

Conflicts:
	cryptography/hazmat/backends/interfaces.py
	cryptography/hazmat/backends/multibackend.py
	cryptography/hazmat/primitives/serialization.py
	docs/hazmat/backends/interfaces.rst
	docs/hazmat/primitives/asymmetric/serialization.rst
	tests/hazmat/backends/test_multibackend.py
	tests/hazmat/primitives/test_serialization.py
Part 1 of rebase, with corrections for pep8
Initial cleanup
Reorder
flake8