Update the connection tracker state machine to support tracing wrapped protocols
The current connection tracker model only supports tracing one protocol for the lifetime of the connection. Pixie was recently extended to support tracing TLS handshakes (#2050, #2058, etc). Due to this connection tracker model, this means users must pick tracing the TLS handshake or the inner (plaintext) application protocol. For the time being, the TLS handshake tracing is opt in, but it would be great to have Pixie be able to trace both the TLS handshake and the inner protocol.
This would permit tracing protocols that have L5-L7 layers. For example, web socket traffic starts out as HTTP, but is later upgraded to a different protocol. Or cases like finagle's thriftmux, which is Apache thrift contained inside a mux protocol session layer.