MAINT: Improve computation of scaled companion matrices.

The previous method used for hermite and hermite_e polynomials suffered
from double overflow for polynomials of large degree. Those numbers were
later scaled down by equally large numbers, but the result was NaN. The
wanted values are now computed in such a way that overflow in some
entries is replaced by underflow in others. The resulting zeros are a
negligible perturbation of the companion matrix.
MAINT: Improve computation of gauss weights for hermite and hermite_e.

The new computations use normalized polynomials. Those polynomials are
less subject to overflow and allow the determination of the weights and
roots up to about degree 350, at which point the weights underflow.

Two private functions are added for computing the values of the
normalized polynomials:

1. _normed_hermite_n
2. _normed_hermite_e_n
BUG: remove static from function to avoid gcc-4.1 miscompile

gcc 4.1.2 (e.g. in red hat 5) will miscompile the function when
inlining. Without static it will not inline solving the issue.
Closes gh-5163
BUG: Make f2py work with intent(in out).

Note that Fortran ignores spaces in this case, so that 'in out' is
treated as 'inout'.

Closes #479.
TST: Add basic test for compiling with intent(in out).

This checks that the compilation works and that the expected error
is raised when non-contiguous arrays are passed as intent(in out).
Merge pull request #5167 from juliantaylor/rh5-miscompile

BUG: remove static from function
Merge pull request #5154 from charris/improve-gauss-hermite

Improve gauss hermite
Merge pull request #5168 from charris/f2py-space-fix

BUG: Make f2py work with intent(in out).
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 NPY_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
only numpy multiarraymodule really profits but its still a nice
improvement when you have 2-4 cores.
Unfortunately Cython will not profit at all as it tends to build one
module per file.