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.
Update sample miniLock ID
Revert #80

This commit was reverted because it caused bug #83.
Clarify Error code
Exchange names between `decryptInfo` and `fileInfo`

This naming convention makes a lot more sense.
Fix unclear documentation
Fix progress bar display
Always use explicit blocks
Merge remote-tracking branch 'upstream/master'

Conflicts:
	src/js/miniLock.js
	src/js/workers/crypto.js