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.