Make RecentChangesUpdateJob::updateActiveUsers more robust
Do work we can outside of the lock (purge no longer active users)
and fail more gracefully if the lock is taken (if this is the case,
we're probably on a high traffic wiki, so this job is going to
run very often anyway, so no need to warn).
Given this is an asynchronous job people can't expect this to be
always fully consistent with the actual state of the RC table anyway.
Note: This will still sometimes log the warning (if we have a race
between Database::lockIsFree and Database::lock), but that should be
negligible.
Bug: T156638
Change-Id: I2e49a8e12bc64156d64a32ccf54911a76087346a