Implement a `HeaderTable` struct
Implement a `HeaderTable` struct

The `HeaderTable` struct represents the full address space of
headers that the HPACK {en,de}coders see: obtained by merging
the static table with the dynamic one.

This struct implements operations that are performed on the
entire address space, such as indexing and searching for headers.

This makes it much cleaner than if the Decoder and Encoder would
need to implement such operations themselves (by operating on their
respective static and dynamic tables). It also allows for properly
testing only the indexing or searching of the full headers address
space in isolation from other HPACK features.

gwicke/solicit,tempbottle/solicit,jinnjuice/solicit,Galvanization/solicit,mlalic/solicit,stepancheg/solicit