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
Connection's settings value is not accessible from Decompressor.
Should we keep track of SETTINGS_HEADER_TABLE_SIZE value sync
with connection and decompressor.
This pull request contains HPACK layer only.
I want to postpone the check until we have stronger coordination between Decompressor and Connection.