Switched to using check.h for unit tests

The check.h header provides unit testing for C. I restructured my tests
dir and adapted my tests to make them unit tests.
Restructured testing dir again
More restructuring

Renamed synchronous_queue to dispatch
Cleaned some code up
More cleaning on the router branch