Prevent time out when main thread is blocked

Ticket: #411 
This prevents the player from getting kicked during or after an expensive operation in the main thread by moving the necessary checks into another thread which will never be blocked by any expensive operations.
This thread would also be the place where one would put a potential future watchdog system for the main thread.
Testing can be done with any expensive main-thread-locking plugin such as WorldEdit or ScriptCraft (`/js java.lang.Thread.sleep(30000)`) by blocking the main thread for more than 30 seconds.