Add a key-value map to the Compiler type.
Use the compilerProperties map instead of invoking 'ghc --info'.

Fixes #1442.
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).