Confirm loading effective id, return original on failure

When running shredder to clean up users, the effective id
for a merged ticket can be shredded. Add error checking
when loading an effective id to detect this case. On
failure, return the id of the current user id and warn
that the user it was merged into is missing.
Add script to clean out dangling attributes on merged users

When a user with another user merged into it is shredded,
the attributes on that user are also shredded, but the
merged user will remain, along with attributes that may point
to the now missing user id. This script cleans up attributes
if the merged-into user record is now gone.
Add docs for new cleaner script
Override BeforeWipeout and unmerge users before shredding

If a user record has other users merged into it and they are
not unmerged before shredding, the merged users are left in
a state where they can't be loaded because they still point
to another user (EffectiveId), but that id is no longer in the
DB.
Don't copy code from the original BeforeWipeout

Save the original and call it so MergeUsers will pick up any
future changes to RT::User::BeforeWipeout.
Merge branch 'shredder-compatibility'