Implement asynchronous chat support.

This is like the support from Bukkit, which dictates asynchronous chat only for chat messages from the network.

This is my first contribution to Glowstone, so please don't bite hard.
You can eliminate the need for these variables by marking the method's parameters final.