More Dao work and update to Login method.

Login now returns a UserData object instead of just a bool. This will allow us to send the logged in user's information back to the client for caching, so that we can easily remember who the current user is.