Invoking http3.client.Close() before client.dial() is invoked
causes a segmentation fault. That occurs because, in this
circumstance, invoking client.Close() results in invoking
client.session.CloseWithError(...) while client.session is nil.
This commit changes the behavior of
http3.client.Close() to return nil if client.session
is nil and adds an associated test case.