Finish implementing database driver code.

We now also support batched queries (transactions) which allow for
efficient and thread-safe method calls. All calls are also idempotent
and will not create excessive rows when called more than once with the
same data. There is also a simple test client added to
MariaDBDriver.java.

There is also a new Metadata table that stored key-value pairs.
Test that values ovewritten for same key.