FileObject: add a method to determine the file name as per a given date

We're about to add a command-line method to list the history as per the
current set of update sites. To make this as informative as possible,
let's use the correct file names.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add the (hidden) 'history' function to the command-line updater

It is not really correct what this function shows because we have no
record *when* now-obsolete files became obsolete, or whether they
had been obsolete anytime in between. Nor, for that matter when files
got unshadowed/shadowed.

So let's keep this function out of the usage lest people expect it
to work flawlessly.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Allow disabling the file size check

In the upcoming 'downgrade' command, we actually do not know the
correct file size. Let's interpret the file size '-1' as: Do Not
Care, Please.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add a hidden command-line option for downgrading

Due to lack of metadata, the exact time when files became
obsolete/unshadowed is impossible to determine. As a consequence,
downgrading cannot be accurate. Therefore, we will keep this method
hidden because it is very likely that unsuspecting users, even when
they consider themselves savvy ones, actually in particular those,
will shoot themselves into the foot using this function.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add a --simulate option to the downgrade command

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Test the 'downgrade' command

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