Added setup task system.

Allows one to define a new task which will be completed before the addon
finishes loading.

It's primary usage will be for performing automatic DB upgrades, as well
as for prompting the user for class config resets pending confirmation.
All tasks block, but are asynchronous. EH:finish_load is called once all
tasks finish execution.