Check the assertions in cacheReadOneBlock explicitely

...to make the code more robust w.r.t. refactoring.

Also add comments about the last block handling.
Implement --nocache

Disable block cache (in EncFS) and stat cache (in kernel).
This is needed if the backing files may be modified
behind the back of EncFS (for example, when you mount
an encrypted filesystem exported by encfs --reverse).

The reverse grow tests fail when this option is not passed to the
decrypting mount.
Implement uniqueIV for reverse mode

For now, the IVs are constant. This is fixed in a later commit.
They are enabled by default to make testing easier.
The whole thing passes the test suite.