reader: fix chunk size validation

Fixes #5.

Also fixes other bugs related to chunk size.

- readBlock allows compressed blocks to have length up to
  snappy.MaxEncodedLen(MaxBlockSize), the longest block which could
  successfully decode to MaxBlockSize or fewer bytes.

- nextFrame successfully decodes padding and skippable chunks with size
  up to 2^24-1, the maximum representable chunk size size.

- fixes error reporting for reserved unskippable blocks with length
  greater than MaxBlockSize up to 2^24 -1.

- simplify reader tests.

- fix occurrences of the reader returning EOF after partial decoding