Protocol now handles various exceptional cases

including:
-client connects to new server
-client or server fail auth challenge
-server pubkey changes