Implemented Single threaded Dispatcher,wrote test cases

I've implemented single thread dispatcher. If this is correct then I'll update it to concurrent version which I've started. I just wanted to confirm my approach.
Completely wrong implementation for custom exceptions. 
Please see comments here (https://github.com/TaviscaSolutions/green-repo/pull/42) for details.