Implement SRP login

There's still some code reorganization, and lots of input validation to do, but the basic idea is working.