Fix for SHA1 update bug.

Fixes issue #3. The SHA1 algorithm alters the data stream on each transform. Any use of the data after SHA1 completes affects the output. Rather than making SHA1 operate last in each update loop and leaving the bug behind, I decided to copy the block locally before running any of the transforms. This helps prevent someone else from accidentally triggering the bug.