Create an Excon::Headers class.

Headers is a Hash subclass that supports case-insensitive access. It stores a second
copy of its contents in a Hash with normalized-case keys, but only after a failed
lookup.
Case-insensify a bunch of 2.1.1 Hash methods.
Hash#fetch can take a default param or block.
has_key? wouldn't index even if was needed.
Tests for all of the methods I'm overriding.
Tests are now green!
Use Excon::Headers in Excon::Response.
Use regular Header access for get_header.
Only override Hash#assoc if native Hashes support it.
Older Rubies don't preserve Hash key order.
Conditionally define `:assoc`.
Use "if/else" instead of "?:".
Merge pull request #376 from smashwilson/case-insensitive

Case-insensitive header access