Rewrite HPACK logic to handle repeated headers.
Rewrite HPACK logic to handle repeated headers.

This rewrite was required because it turned out that certain assumptions
in the original HPACK implementation were revealed to be untrue.
Unfortunately, this rewrite adds substantial complexity to much of this
code. See GitHub issue #50 for more details.

masaori335/hyper,plucury/hyper,jdecuyper/hyper,plucury/hyper,lawnmowerlatte/hyper,Lukasa/hyper,fredthomsen/hyper,lawnmowerlatte/hyper,Lukasa/hyper,masaori335/hyper,jdecuyper/hyper,irvind/hyper,fredthomsen/hyper,irvind/hyper