Add cache of common HTTP headers mapped between lower and canonical case.

For garbage reduction.
Pull readPreface into its own method, add timeout per TODO