Found a major bug in the database upgrade system where if one of the databases did not exist at the time of the old database that needs to be updated (for example, not having the actions db when upgrading the user db) then an actions db will be made without following the schema of the other databases and will then cause all of your upgrades to fail and you can never update your database.  I fixed the logic for applying upgrades to databases that are empty compared to the ones that are being upgraded on purpose.  I used the same naming convention of 'onFirstTime' and 'onEveryTime'.  VESPERS:  I also discovered that many of the VESPERS db upgrades were too trusting that the upgrade implementations would work even if columns were missing or tables didn't exist.  I added two methods to AMDatabase, tableExists() and columnExists() and added them as they were needed to the VESPERS db upgrades.  This greatly increased the amount of code inside the db upgrade 1.5 in particular.  Also the beginnings of a new opening dialog were added.