fixes #4641 Ensure default user role only after we save/update.

## Solution

Use `after_save` callback to save a user role.
Add default user role for users who don't have a role assigned.

## Problems

I tries to write a regression test, and even though I use `test_after_commit` gem, the test didn't fail. So I removed it.
Ref: If #1371 gets merged before #1549,  #1549 should get closed.