Performance + Bug fixes

+ Changed CommandExecuteTask to run all commands in the correct order
Commands are queued up to run, they are then run in sequence in the main thread.
Cap on execution time (500us) to prevent commands from stealing too much CPU time.
+ Performance increase for ChatManager (See commit details)
+ Small performance increase for Buy command listener (See commit details)