This commit does some initial work in anticipation of the reverter tool:
- Defines new tool messages for the reverter CLI.
- Moved some common upgrader methods for writing to the historical log to Application for use by the reversion tool. Theoretically these also be called by the installers to record when the installation was installed.
- Makes the existing ArgumentParser's created for usage messages further available for the arg parsing.
- Creates a progress notification delegate class.
- Changes the name of VersionOracle and UpgradeOracle to VersionIssueNotifier and UpgradeVersionNotifier. Ludo's suggestion was interesting but a esoteric :)
- Removed the CurrentInstallStatus arg from the createUserData since it was not being used.
- Made QuickSetupCLI exit from event loop dependent upon termination of the CLI app thread rather than the isFinished method so that it more reliably exits properly.