add a Sys module and start to move some system constants out of base
(also closes #3331)
Add Python dependency to README.windows
fix #3144
fix BUILD_MACHINE architecture detection for mac and cross-build (reverts b038d4c3cf7220738a8f7c14c559fe34f4470d4c)
Merge pull request #3360 from ihnorton/patch-1

Add Python dependency to README.windows
fix a race condition in process group setup, fixes #3353
also fixes the occasional "no method convert(Type{Int64},Symbol)"
fix #3361
due to an oversight re: tuple types in inference
return Any array for map on empty arrays. fixes #3349
fix #3072 and some cleanups.
MathConst special behavior: e^x = exp(x)

Based on suggestion by @stevengj:

https://github.com/JuliaLang/julia/commit/43f9731f37022792e95319ff6fea5258a0e75927#commitcomment-3399288

One problem here is that e^1 != e:

	julia> e^1 == e
	false

If you convert to float instead of calling exp, it's fine:

	julia> float(e)^1 == e
	true

This seems more like a problem with the exp function than with this
particular special behavior, but it is a bit of an issue.
show MathConsts in the form "π = 3.1415926535897..."

Suggested by @pao:

https://github.com/JuliaLang/julia/issues/3294#issuecomment-19331571

I lop off the last couple of digits of the constant since otherwise
the last digits might be rounded, making the assertion that those
are the leading digits of the number incorrect. I tried writing this
as "π ≈ 3.141592653589793" but that just didn't look as good. There
is technically still a possibility that rounding would cause this to
be wrong, but that's not the case for any of our constants.
MathConst: use an eval loop to define MathConst binary operations.
exports: update to reflect changes to mathematical constants.
oops: export im (broken in last commit), print it as "im".
Merge pull request #3358 from JuliaLang/jn/sysinfo

add a Sys module and start to move some system constants out of base
Make insert! return the same as push!