new MathConst type: make π, e, and γ instances.

This makes BigInt(2)*pi work as one would want it to. It's limited
though and doesn't try to do anything fancy or symbolic beyond that.
We could add a big function that converts integers to BigInts, and
floats and MathConsts to BigFloats.
MathConst: improve interactions with complex and imaginary values.
big: big(x) turns x into an appropriate high-precision version.
MathConst: factor constant-related stuff into its own source file.
Export RTLD_NOLOAD
fix #3304

This was a bug in interprocedural type inference. To find the start of a call
cycle, I was looking for the previous frame to not belong to a call cycle,
which is of course wrong since it might belong to a *different* call cycle.
Fixed by marking each call cycle with a unique ID, and comparing.
Merge pull request #3328 from carlobaldassi/rtld_noload

Export RTLD_NOLOAD
MathConst: `@math_const` macro to setup BigFloat-based constants.
MathConst: add Catalan's constant, `eu` as alias for Euler's e.

Defining big(::MathConst) earlier allows using it various places.
Assert that the value of a MathConst converted to BigFloat is of
type BigFloat.
MathConst: add φ or `golden` for the Golden ratio -- (1+sqrt(5))/2.
saturate to 0 or -1 for large bit shift amounts. fixes #2241
Merge branch 'master' of github.com:JuliaLang/julia
add a missing JL_GC_POP
add another missing JL_GC_POP
Removed comment in Arch section re Windows PATH

I repeated the Arch cross-compilation steps to recheck everything, and noticed that the Windows PATH environment variable does not need to include the Julia lib directory (the Julia batch file executes without needing this additional step), so I removed my relevant comment.
Replace i1mach and d1mach calls
fix #3242 by passing gcc -dumpmachine to all configure scripts, instead of allowing autodetection with config.guess
update macports toplevel makefile
print the full error message when git fails in version.jl
Init Streamer sections. Fixes #3338