Allow use on streams; Option for case sensitive headers

I'm using this to parse a stream of response messages, so I've added Content-Length accounting to know when we reach the end of a non-chunked message.

The second commit adds a preserCase option to avoid lower casing header names.