Admin tools development/Global rename

Patch: 92468 Bug: 14862


 * How it works


 * Status of a user's rename is stored in the centralauth.renameuser_status table
 * This table is intended to be small and constantly updating
 * Steward goes to Special:GlobalRenameUser, and starts the process
 * The globaluser table is updated
 * Jobs are queued on each wiki where the account is attached. Each job:
 * Updates the wiki's row in renameuser_status to "inprogress"
 * runs the RenameuserSQL code, which updates the user rows, log entries, and queues more jobs for revision and archive tables
 * Using the RenameUserComplete hook, update the localnames table. This preserves the attached date/method columns.
 * moves the user's userpages if that option was selected. The steward is assumed to have the proper rights to do so.
 * Delete's the wiki's row in the renameuser_status table
 * A log entry is added to the wiki from where the rename was started
 * If a rename is in progress, a user who tries to login to either the old name or the new name, will not be able to do so.
 * A hook is added to UserLoadFromSession which also does a similar check
 * Special:RenameProgress will show what wikis are still being updated for a specific user