Set the # of jobs to the # of cores for 'build/test/bench/run -j'.

We do this for 'install -j' already.
Add an OS-level semaphore module.
Add a '--semaphore' flag to 'setup build'.
Add a way to find out if a given Compiler supports parallel --make.
Rename 'parallelBuild' to 'parallelInstall'.
'cabal install': pass the '--semaphore' flag to 'setup build'.
'setup build': honor the '--semaphore' option.