Make reinstall transaction safe.

* Aborting during reinstall will now restore the originally installed
  keg.
  - Change install code to pass on CannotInstallFormulaError exception
    to caller so it can be reused in reinstall.
* Add "--force-new-install" flag to force installing a new formula.

Closes #22190.

Signed-off-by: Samuel John <github@SamuelJohn.de>
reinstall cleanup