GUI now uses the new ModuleInstaller.Upgrade()

Also better exception handling copy/pasted straight from the command-line code :)
D'oh, that's almost certainly my fault in the original code; do we want this going to the console?