MODIFIED: Added SocksClientHandshake for client-side support. MODIFIED: Error implements Clone.