server.py: Track only the most recent change to each key.

Keep a dictionary of change events by absolute key (path/key), so that
only the most recent change to that key ends up in the event list page.

This was motivated by the case of changing the "visible-name" key
of a gnome-terminal profile, where the entry widget was obviously
bound directly to the setting and the fc-gsettings-logger recorded
every keystroke.  So on the event list page I saw the following:

  /org/gnome/terminal/.../visible-name T
  /org/gnome/terminal/.../visible-name Te
  /org/gnome/terminal/.../visible-name Tes
  /org/gnome/terminal/.../visible-name Test
  /org/gnome/terminal/.../visible-name Test
  /org/gnome/terminal/.../visible-name Test P
  /org/gnome/terminal/.../visible-name Test Pr
  /org/gnome/terminal/.../visible-name Test Pro
  /org/gnome/terminal/.../visible-name Test Prof
  /org/gnome/terminal/.../visible-name Test Profi
  /org/gnome/terminal/.../visible-name Test Profil
  /org/gnome/terminal/.../visible-name Test Profile

A nice side-effect of this is the keys are now listed alphabetically
on the event list page, which naturally tends to group keys by app.