Put JobControl into exposed-modules
Add a test for JobControl
JobControl: Use Chan instead of Semaphore.

This removes the dependency on stm.
Remove unused Distribution.Compat.Semaphore