Implement new TimeRunnable. This will do the getDatabaseTime() method.
This is async (as it is called by a thread) and thus will not interupt
the main server thread.
getDatabaseTime() is async now! Hooray!

When you do something async, the result will not be correct as it will
always return the value before it was updated by the async thread.
(Async threads cross ticks). I have implemented a waitForThread(Thread)
method, that will wait until the thread dies and it will then get the
correct data. This way it will always return the correct value. Hooray!