Apologies if I missed something discussed earlier in the thread, but I went back through the discussion and couldn't figure out why we are we cloning all of `HTTPMessage` instead of subclassing and overriding `isheader()`. I see that it's being used internally in `HTTPResponse` so we still need to override that, but any reason to reimplement this here?