Mostly functioning sha1 implementation

It currently only works for strings of size 0 to 55 (inclusive) for two reasons:
 - I'm not handling multiple 64-byte chunks, mostly to avoid message
   length record keeping.
 - Strings where the last chunk does not have enough room for the 9
   bytes of bookkeeping (a pad sentinel byte and the 8-byte message
   length) require an entire new mostly empty chunk, which makes my
   read-a-chunk-at-a-time mechanism a bit more awkward.

Other than that, seems pretty good!