Refactor channel cell handling for channel authentication
This adds a new way of handling channel cells through a much larger set of restricted message set than we had before.
Because channel authentication (#1597) is very large and also requires RSA and Cert support, the whole channel authentication part (that Relay need) will come in a second MR once we have the above. This is so we avoid a half baked feature with holes in it.
This MR only has the changes of how channel cells are handled and how a TLS stream becomes a Channel
. You can see this as the foundation and everything that is required for the next step, channel authentication.