Add basic annual test and fully install/uninstall extension each time
This is the same as !142 (closed) but rebased.
The install/uninstall part is because the headless apply() doesn't work the way you expect. It only runs once during the whole thing so between tests you can have mixups for the state/existence of message templates and log tables etc. Doing a full install/uninstall for each test is slower, but otherwise it's fiddly.