Refactoring

Minor refactoring of code.
Add unit tests

Change IsValidUserName regex.
Reduce the amount of Regex used

The timeout controller uses too many regular expressions.  Change the
bot to only use regular expressions when the user specifies one.
Reduce memory usage

Reduce memory usage by the timeout controller by removing old entries in
the timeout table when the stream goes online/offline.
Initial implementation of a command parser

Add initial implementation of a command parser (not wired to anything
yet).