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
> The new maximum size MUST be lower than or equal to the last value of
   the SETTINGS_HEADER_TABLE_SIZE parameter... [source](http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09#section-7.3)

But it's not clear to me if this should be treated as decoder error?