This code supports all known schema versions (0 to 3).
Also adds unit test for database classes, unit tests run against temporary sqlite database.
Closes ADHI-4854