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.
Merge pull request #62 from fedora-infra/feature/careful-in-user-update

Be careful when updating user fields.