Revised Uniqueness Checks

Ensure that a duplicate objects are not created when one is detected;
Also, change some authentication code to handle asynchronous
comparisons of passwords.