Standardised on InstallList and UnInstallList for user operations.

These are transaction aware, act recursively, and save the registry at
the end.

This change breaks the GUI, which I hope to fix in the next commit.
GUI Fixes.

This fixes a bug I introduced earlier where the GUI would crash trying
to look up a relationship that doesn't exist.