Allow services to overwrite profiles

When overwriting the profile, findOrCreate each tag
and now (newly added) prune old tags away.

Also fixed a bug where a user profile change would cause
tag processing to be skipped -- basically the code was just
updating the user object and returning instead of processing
the tags afterwards.  The likely reason is that it is more
work and callbacks.  Simplified that process by using a helper
function.

Updated config/auth.js to pass the overwrite flag through to
the providerUser object.