Detect unstaged changes

Abort when there are unstaged changes in the repository being processed.
Improve handling of unstaged changes

Script now asks user if changes should be discarded (git co -- .)
instead of simply aborting in error.
Delete 'admin' dir at end of process

Asks the user if they want to delete the 'admin' directory, and if not
displays a warning to remind them to do it manually afterwards.
update-tracker.sh: handling of 'admin' directory

The new process now check if there are untracked files in the repo. If
yes, ask user if changes should be discarded, and abort if not.

Then at end of script, the user is asked if 'admin' dir should be
deleted.

This is easier to implement than a new commit in the local branch to
remove the directory, because this way we don't have to deal with
potential merge conflicts which would be difficult to handle in an
automated way.

Fixes #16345