Fixed the new client setup/authentication of old.

Went through the authentication of clients. New clients now have RSA keys generated, stored and then with the PIN created by the server, have their public key authenticated by the server with the PIN for the first time. Once it is stored, returning clients are authenticated via digital signature. The server sends them a hash of random bytes to by signed by the client and sent back for authentication. The old TCPClient class had a bunch of random spaghetti code in it, some things that made no sense at all so now the authentication process and shared secret sending is all tight.