Changes with Apache Traffic Server 8.1.1
  #5868 - Update HttpTransact.cc
  #7147 - slice: check if vio is still valid before calling TSVIODone* on shutdown
  #7154 - Fixes H2 toggling using ssl_server_name.yaml
  #7156 - Fixes garbled logs when using %<vbn> log tag
  #7191 - Emits log when OCSP fails to connect to server
  #7195 - slice: fix throttle not work (#7008)
  #7217 - Remove usage of stored ACL record, fix ipallow reload
  #7234 - Do not cache Transfer-Encoding header
  #7244 - Replace existing autest certs with ones from master
  #7267 - Fix truncated reponse on HTTP/2 graceful shutdown
  #7268 - add support for centos8 to autest
  #7297 - Sticky server does not work with H2 client
  #7358 - ESI: Ensure gzip header is always initialized
  #7359 - Add negative caching tests and fixes.
