Add an API to ask whether update site information has changed

When following/unfollowing update sites, we want to store that
information even when the user quit the updater without updating the
respective files. To this end, let's be able to tell whether we need to
write db.xml.gz at the end of an updater session.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Retain order of overridden update sites

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
WIP: Add an API to remove update sites properly

When removing an update site, we really *need* to unshadow shadowed
files... otherwise, surprising things start to happen, such as uploading
incompatible lists of superseded previous versions.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add a test to verify that plugins are unshadowed upon unfollowing a site

When deactivating an update site, we really want to make sure that the
formerly shadowed metadata becomes active, so that uploading to a formerly
shadowed update site will work (and not lose a ton of information about
previous versions).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>