Prevent multiple callbacks in utils

As a precaution, return when doing the callback to
prevent execution from continuing.  This prevents
the same callback from being called multiple times.
Fix 2 bugs in resetPassword test

The test needs to specify `id` instead of `userId`.

The test also needs to log in with the user, not the
admin, to verify the correct password was changed.