Use exceptions to simplify
Allow ServerHello to be skipped

It seems that TLSv1.0+ only clients can work without ServerHello.
https://twitter.com/julianor/status/453985241217396737