Substantial changes (see description)

1. File header structure modified to be simpler and also include
`fileHash` (encrypted with sender's long-term key) which can be used to
verify ciphertext integrity before decryption, independently from
ciphertext's `Poly1305` construction (which relies on `fileKey).

2. BLAKE2 is now our hashing function instead of SHA-512. Reasons:
    A. 2x faster.
    B. Adjustable hash length.
    C. Library quality seems better/more modern.

3. Chunk size reduced to 1MB.

4. Typo fixes and clarifications in design document.

5. Introduction of a new Error code (Error 7)

6. Other small fixes.