When switching between versions we need to properly convert between them.
Some examples are:
- Version specific headers such as: host header, pseudo headers
- Upgrade vs Connect
Some places where we need this:
- Tls alpn negotiated a different version
- Upgrading http version
- ...