Forking off part of https://golang.org/issue/2263 ,
The TLS server handshake never times out if the underlying socket has a read timeout on
it.
readHandshake() in crypto/tls/conn.go loops forever, continually getting EAGAIN in
readRecord from readFromUntil.
I'm not sure the best place to fix. I could do my own timeout up in http land, but I
think TLS should probably (also?) deal with this somehow.
Thoughts?