Split out fuzz tests, add more Encrypt tests

Instead of testing the vanilla `Encrypt` function, we test the
`EncryptWithHashParams` function and feed it paramters that make for speedy
hashing. While this could, in theory, result in cases we don't catch, I view
this as unlikely since by varying the hash params we're essentially testing
`scrypt` and not this library.

As long as `Encrypt` continues to simply call `EncryptWithHashParams` with the
provided default paramters, we're in good shape.