Made it so you can run start_bots.sh from a different directory
Added some missing thread-safety that the race checker pointed out
Move throttling back down to 200ms

accidentally bumped it up to 1000 when I was creating the Throttler class
Added abstraction layer for the database

To make it possible to substitute in a different one for unit testing
purposes.
Started work on database unit testing

It just has one test that can run with the go test -race command
that catches basic thread-safety issues
Fixed broken GetRoomId() function

It was suppsed to be using the getField() function call instead of
directly accessing the Fields member. Thanks again to the race checker
for catching this one.
Use pointer-methods instead of value-methods

This was causing us to create copies of some objects when calling
certain functions, which turns out to have been causing some race
condition violations according to the race checker.

It also just made for cleaner code.
Made the Users type use natural sorting