cast LogParser as EventCounter
explicitly uses threads now
Updated for multithreaded support
Removed unnecessary Reset() function
Tidied up a bit, added flexibility for number of threads
Fixed to use delete() instead of free()
Added state machine tests
Fixed naming conventions