httputil: use compiled re patterns
This is slightly faster than using the builtin cache, e.g.:
With benchmark below (Python 3.7, Linux):
before: 0.
7284867879934609
after: 0.
2657967659761198
```py
import re
from time import perf_counter
line = 'HTTP/1.1'
_http_version_re = re.compile(r"^HTTP/1\.[0-9]$")
start = perf_counter()
for i in range(
1000000):
_http_version_re.match(line)
print(perf_counter() - start)
start = perf_counter()
for i in range(
1000000):
re.match(r"^HTTP/1\.[0-9]$", line)
print(perf_counter() - start)
```