BUG/MINOR: payload: reject a \0 byte in req.ssl_sni and req.ssl_alpn
A string sample cannot contain a \0 byte, but req.ssl_sni and
req.ssl_alpn returned the server name and the protocol names as found
in the raw ClientHello, so a client could put a \0 in them. Such a
value was then matched by "-m str" on its prefix: "public\0x" matched
"public".
Fail the fetch when the name holds a \0 byte, as for a malformed
ClientHello.
A reg-test is added to check that a "public\0x" server name or ALPN
protocol name does not match "public".