Now ensures entire packet is sent by using .sendall() on the socket,
and actually reads the auth request packet properly.
Also quits earlier, after sending the auth response we now connect
the socket directly, letting the server reply success to the client.
Not the most effective, but it shouldn't fall over itself if faced
with fragmented packets.
Doesn't properly initiate plaintext connections yet, need some more
debugging to figure out what's up with that. Might be due to using
.read on a non-SSL socket.
Remaining items for robustness:
- Make sure .send sends the entire message (or does SSL sockets
handle that for us?)
- Handle potential fragmentation when establishing server
connection