Add a "sponge" reader and writer

This is a substandard implementation of #8.
This would close #7, since the ``base64`` encoding is now optional.
Wait, this is weird, reusing r.buf for both cyphertext and plaintext. So if none of the keys succeeds, we'll be left reading the cyphertext? I think this problem would be nicely avoided by replacing the above io.Copy+loop with ioutil.ReadAll+VerifyAndDecrypt.