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. Also would like comments on the below issue.

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
```