Changes to ChatManager

+ HashSet provides faster contains
+ HashSet only allows the an object to be added if it does not already
exist so contains is not required (This also means that enable/disable
chat methods should give increased performance)
+ Added a method for the chat manager which clears players from a set of
players who have had chat disabled. This is to prevent the disabled chat
set from being edited in a manner which we can not control
+ synchronized each method to prevent ConcurrentModificationException
from being thrown if someone with disabled chat quit & someone talks at
the same time
Added 'target' to .gitignore to prevent class files from being commited
Speed up of buy command listener

+ Fails quicker than previous implementation if the command is not the
buy command (~1/3 of normal time)
+ From tests if the command is the buy command the command process is
started in equivalent time.