Created originally on Bitbucket by numerodix (Martin Matusiak)
Was already merged in Bitbucket before import, marked as merged by the import user
This PR is bigger than normal but you get 10 passing tests :)
I also think it would be a good idea to add some more tests to test_sha_extra.py for _sha256 and _sha512, as they currently only have this new check for .name. The modules _sha256 and _sha512 have some test code in "if name == main" style that I'm pretty sure is not being picked up by py.test. But since there are already quite a few changes here I figured I'd ask you first, @pjenvey. If you're inclined I'll add that to the PR.