Support for '--make -j' in 'renderGhcOptions'.
Add a '-j' flag to 'setup build'.
'setup build': pass the '-j' flag to GHC.
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.
Don't recreate the log file for each package install phase.

Now the log contains the output of all install phases ('setup
configure/build/.../install') instead of only the last ('setup install' if the
build was succcesful).
'build/run/test/bench -j': read the # of jobs from the config file.
Distribution.Compat.IPC: Windows support.
Don't export all constructor fields for the Semaphore type.
Tweak a message.
Fix warning.