Fixes changing own nickname

This is partially achieved by a bit better detection
of nickname changes.

Still there's a lot of code complexity in the Presence update
functions. We should refactor them.