Upgrade to HPACK-09.

Tests should pass when #17 is merged.

Interface changes

- Header fields should be passed as an array of name-value pairs instead of a Hash.
  - However, the module still accepts a Hash for clients that do not care
    duplicative header names nor relative order between header fields.
- Compressor constructor accepts HPACK runtime optimization flags:
  - :table_size  Integer  maximum header table size in bytes
  - :huffman     Symbol   :always, :never, :shorter
  - :index       Symbol   :all, :static, :never
I only see this function called once, can we inline it?