Uninstall chrome binaries that are no longer in use.

When Chrome Frame is migrated from multi-install to single-install, it
may leave behind the mulit-install binaries with no products. This
change causes the binaries to uninstall themselves on a subsequent
update if they are no longer in use.

This is accomplished as follows: InstallProducts will abort early and
return UNUSED_BINARIES if no products are installed. If the binaries are
still in use (e.g., npchrome_frame.dll is loaded in a running IE), the
overall update will fail with this InstallerError. If, on the other
hand, the binaries are not in use, UninstallProducts will run and remove
them. In this case, the overall installer result will indicate success
to Google Update (InstallerResult == 0) with InstallerError set to
UNUSED_BINARIES_UNINSTALLED.

BUG=265952
TEST=install multi-install CF of version N-2, update it to N-1 and note that CF is now SxS but binaries still exist, then update binaries to version N and note that binaries are gone

Review URL: https://codereview.chromium.org/25859007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227491 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 227491