add user auth, admin auth, password verification and token expiration date

add grunt and tests to this as well.