This is a big refactor of the installation code, getting rid of the troublesome xml file for which we had loads of hacks. I'm kinda sad that the xml method doesn't work better.
I've left what I could leave alone, but I've removed calls to specific upgrade hooks from the installer - I think an install should be clean rather than rely on lots of updates makeing incremental changes, although I've kept the tasks that looked like they might be useful for the case that someone had previously had this installed, then uninstalled it and was now much later, reinstalling it.
Anyway, see what you think @mattwire
I had not intended on this PR but hitting the install issue in testing proved a PITA.