NCI-Agency/anet#3491: Avoid creating multiple new users
NCI-Agency/anet#3491: Avoid creating multiple new users

First call an unsynchronized method to find the user being authenticated;
if not found, call a synchronized method that tries to find the user, then updates it, or ultimately creates it if not found.
This way, we don't end up with multiple copies of the same user if multiple simultaneous authentication requests are done by the same new user.

NCI-Agency/anet,NCI-Agency/anet,NCI-Agency/anet,NCI-Agency/anet,NCI-Agency/anet