Fix issue with ALPN handshake
Fix client ALPN issue
If the other side closes the HTTP2 stream don't immediatly error

Only error if there are streams that still expect data to be read
Otherwise wait for all streams to be done then send close
MAke similar changes to HTTP2
Add a getTransportProtocol(), and use it