threadpool: cleanup, debugging & initial UT

Added threadpool UT (1st version, hardly sufficient; however,
the TP was debugged using that).
Fixed: condition variable timeout computation + usage of monotonic
clock
Fixed: source file naming scheme cleanup (extensions .[ch]pp -> .[ch]xx,
.grammar -> .cfg)
Added (inter-thread) mt::semaphore implementation