Abstract HashIterations
Pad input plaintext

This is critical for AES security reasons.
Start testing, fix lots of bugs

So far, `compress`, `decompress`, and `pad` are solid! `unpad` still needs work,
and the rest haven't been tested yet.