Make users more secure and FISMA compliant

When there's an error logging in, give the user a standard
"Invalid username or password" message instead of telling
them whether the username or password was invalid.

clean user objects so that all of the user's administrative
info is not sent over the wire when logging in.

Track the number of invalid password attempts since the
last successful login.  Useful for implementing user
lockout in the future.