Implementing a decompressor

Your goal, in this part, is to implement a zstd file decompressor which ultimately accepts any zstd compressed file.

The decompressor will be built incrementally, and tests will be added at each step. More and more zstd compressed files will be decodable as you progress.

In this first part, you will build a decompressor which is able to parse and decode a subset of Zstandard files, thus achieving a first level of compression capabilities. In the second part, you will later implement the full standard.