This is my simple implementation to learn the SHA 256 algorithm. Do not use it for any real work. Assume that it does not work correctly.
This implements the SHA256 spec from http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf
The variable names should match those in the NIST spec.