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>
Avoid using obsolete FileUtils.matchVersionedFilename

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Avoid using deprecated AppUtils class

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