ENH: support parallel compilation of extensions

Allow extensions using numpy.distutils to compile in parallel.
By passing `--jobs=n` or `-j n` to `setup.py build` the compilation of
extensions is now performed in `n` parallel processes.
Additionally the environment variable NUMPY_NUM_BUILD_JOBS is used as
the default value, if its unset the default is serial compilation.

The parallelization is limited to within the files of an extension, so
due to the many extensions numpy builds the parallization is not great
for all modules but multiarray but its still a nice improvement for when
you have 2-4 cores.
Unfortunately Cython will not profit at all as it tends to build one
module per file.

Currently only CCompiler adapted, but adding Fortran and C++ should be
straightforward.