Fixed Issue #1:
 - Refactored Chat Handling to use a handler pattern, allowing for registration of many
   handlers for chat messages. Some will process all messages, some will process and then
   prevent further execution.
 - Refactored ShoutOut interval timer to use a self-scheduling pattern, this allows us to
   have it re-schedule for a newly updated time.
 - Moved ShoutOut logic into the GU object
 - Updated ShoutOut logic to prevent it from shouting out if the last person to talk was the
   broadcaster and the last time they talked was about the last time the shout out was sent.
Fixing Typos in relation to the fix for #1
Merge pull request #6 from Reanmachine/prevent_duplicate_shoutouts

Prevent duplicate shoutouts regardless of time thereby fixing issue #1