Add Test class, fit TestDatabase to it

Tests are now their own class. Alongside the test name, a class/set
name and a date (when the test was set/done) is stored. Useful for
checking tests between a certain date, etc.

Also, decapitalise all usages of ID. In variables, camel case beats
proper English usage.