Implemented Registry.FindReverseDependencies()

This does a recursive, exhaustive search of things which need to be
uninstalled, taking into accounts provides. It includes extensive tests.