Convert header_lines into a map

Couple of things - 
* Not sure if this approach is better than overloading the comparator with a case insensitive version. 
* Maybe we  should refactor all the *_header_line() into a separate class
The old code will only set `content-length` if it's already in `header_lines`, whereas this code will always set `content-length`.  Do we know that there will always be a `content-length` at this point?  If not, I think we should do a `find` and only update it if it exists so as to avoid changing the semantics of the code.  (Unless the old semantics were incorrect.)