Added sha256 (and sha224) from PyPy sources (with fixes for Python 3)