Be careful when updating user fields.

In bug #42, fedmsg tells us that the user changed their gpg_keyid when they
really did not.  My guess is that this is fas updating a None value to the
empty string ('') or vice versa.

The logic here first checks that at least one of the values (``new or old``)
is True-ish before checking to see if they're different.  If at least one of
them is not false-ish *and* they are different, then we'll set the change in
the db and publish to fedmsg.