Switched to using `{stop, Reason}` returns, and instead monitor the `SslProto`, and clean up based on that.
Added more monitoring, cleaner stop reasons.

In an effort to conform to what seems to be the intention of the OTP behaviors, and community consensus (as well as keep our logs cleaner), I've opted to do `{stop, normal, State}` in many places. This keeps the crash log from getting crashes that are, in all honesty, expected, and fine. Some stop reasons were not changed; while these don't indicate errors on the server side, they are unexpected input or state from the client, and might be useful to raise awareness of. (Some might be indicative of MITM attacks, or other nefarious behavior by clients.)