Key exchange and authentication is functional. Protocol definition has been moved to separate crate to speed up build time. Various cleanups. Take login info from command line, rather than hardcoded.