Explicitly canonicalizing both $merged and $canonical_self is not required

As the path to get both user objects uses ->Load, which calls
->LoadByCols, which we have overridden, we already have the most
canonical form.  Checking it for EffectiveId is unnecessary and
wasteful.
Explicitly checking EffectiveId is also unneeded in CanonicalizeEmailAddress

As CanonicalizeEmailAddress uses ->LoadByCols to look up the email
address, and we override LoadByCols to chase EffectiveId after a
successful LoadByCols call, looking up EffectiveId again is unnecessary.

The recursive call is kept, on the possibility that
CanonicalizeEmailAddressMatch will match the _new_, canonicalized form.
This preserves the previous behavior.
Ensure that $canonical_self, when inspected, still has unmerged data

$canonical_self->SetComments() calls a $self->Load( $self->id ) during
the process of updating the Comments.  Because this now loads the data
of the user we are merged into, the information recorded on $merged was
always contentless -- namely, it always showed the the user had been
merged into itself.

Swap the order of the ->SetComments calls, to ensure that
$canonical_self is still the user being merged in when it is inspected
to record data on $merge.