Open
Description
Currently we send TLS alerts all over the place, decoupling the process for other error handling, this results in inconsistencies about when and where we send alerts that can be quite confusing (including sometimes just not sending expected alerts at all).
Ideally we should centralize alert transmission in one (or two) places: Conn.Read and Conn.Write. Alerts can then be derived from errors (or a field we set on the connection?) allowing us to consistently handle them.
cc @FiloSottile