[Bugfix] Do not circumvent magic methods.

The comparison test in removeContact would fail if both
x and contact were Contacts, since x.guid is a string, thus
    x.guid != contact
translates to
    string.__ne__(x.guid, contact)
which fails.

Interestingly, the comparison succeeds if written
    contact != x.guid
because it translates to
    Contact.__ne__(contact, x.guid)
which correctly compares contact.guid and x.guid.

This behaviour is counter-intuitive; the best way to fix the bug
is to always delegate the entire comparison to Contact.__ne__, writing
    contact != x