do not revert candidate for protected packages

In commit 21b3eac8 I promoted the check for installable dependencies to
a pre-install check, which also reverts to a known good candidate (the
installed version) if it fails. This revert was done even for user
requested candidate switches which disabled our Broken detection so that
install requests which are impossible to satisfy do not fail anymore,
but print an (incomplete) solution proposal and then exit successfully.

Closes: 745046
separate implementation from declaration of TryTo{Install,Remove}

Git-Dch: Ignore
support Acquire::GzipIndexes in dumpavail

Closes: 742835