Implemented Class Config DB upgrade system. Reimplemented starting tasks to allow async tasks before addon load

A notification pops up asking the user whether they want to upgrade
their class config. If they do, the upgrade happens automatically.

The startup task system now supports asynchronous task execution and
return status though the use of a callback function used to designate
that the task has finished. This allows tasks which require user input
to work before addon load.