Implements a proper uninstall confirmation page

Implements a proper uninstall confirmation page, which replaces the
previous JS based warning.

The confirmation page is a preparation of the functionalty to delete
dependencies as well (selectively not by default).

Implements and uses the possibility to dry run the uninstall process.

Implements a vague and not fully reliable distinction between
uninstalled and installed modules in the data table.

Implements some minor fixes and optimisations.