authenticates users with encrypted passwords

Adds salt and password columns to user table. It also and creates random salts and stores encrypted passwords upon user creation.
Do we really want to allow the clients to able to pass in their own id's?