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
`set_table_size` will be called when connection sends/receives a SETTINGS frame.
That's why this code isn't inlined.
See 54e746910efa387ab839c5bf9cd0b570a46c2a24.