Implemented New client authentication with pin

Added the PIN verification for a new client. The way this works is that when a new client is to be added to the network, the thread responsible for that client creates a random pin, plus a random number between 1 - 16. The server admin sends these values to the client he would like to add onto the network through a trusted third party. The client, upon setting up, would enter both the PIN and the value, then the pin will be appended to his encoded public key in the specified slot. Any attacker sitting in the middle will have zero knowledge of either the pin or where it is placed. The server, once the public key is received, will chop off the pin, check if its valid and act accordingly.