add thread pool class
add work queue and thread pool tests and fixed resulting errors