This swaps the test initialization to use the dbtest package so each
test will get a fresh database created from a template database, instead
of a completely new docker container.
This adds enumeration constraints to the server table, ensuring that no
servers can be added other than the types "controller" and "worker".
This should already be impossible to do in code, but this adds a check
on the database level to ensure it's the case as well.