add HTTPHeaderDict

First split up of shazow/urllib3/pull/299. Still outstanding are deciding on which methods are really necessary, e.g. is ```copy``` or how about about access to the "raw header".

~~Have to add a ```SkipTest``` for the actual insensitive header checking due to the earlier mentioned ```httplib``` bug.~~ (EDIT: Done)

Technically this is a breaking api change even if only in the slightest. Any code that relied on the following check would now break:
``` python 
isinstance(r.headers, dict) == True
```