Decoupled StackExchangeChat and JavaBot. 

Added Interface to describe classes that 'produce' stuff and can be subscribed to. Added interface describing minimal ChatInterfacing functionality (namely queryMessages and sendMessage). see #9
I think you can just do `messageQueue.add(chatMessage)`.  You're using a `LinkedBlockingQueue`, so there's no way the insert operation is going to fail.