Improve parsing of request headers

Request headers are now more leniently parsed. Known exceptions to the
standard formatting of HTTP_ followed by the request header in all caps
with underscores replacing hyphens are enumerated specifically.

Unknown headers which would match the regex /[a-zA-Z-]*/ are converted
to the prepended HTTP_ format and set.