Add a Makefile setting for buildign with ccache.

This greatly speeds up the build when frequently rebuilding from scratch
(e.g. in case of a buildbot). Some hacks are added for using ccache in
combination with Clang.
Merge pull request #8567 from maleadt/master

Add a Makefile setting for buildign with ccache.
Revert "restrict RandIntGen to generate random numbers in the interval [1,n]"

This reverts commit ea2bd4b9d5fa3880f461f6ceac1e559c5fd8b6af.
Fix #8566
Fix PCRE issues
Fix issues for *(u::Uint128, v::Uint128)
(Do we need to do this for *(u::Int128, v::Int128) as well?)
Fix some itruncalypse issues in base/string.jl
Make base/string.jl way better
Perform the same magic to base/nullable.jl
Apply fixes to a bunch of stuff in hashing2.jl
Get the tuple case as well
Actually use hashis_seed
Remove all `uint()` calls
ModInts: add multiplicative inverse
Merge pull request #8549 from JuliaLang/sf/itruncalypse

Fix the itruncalypse
Allow n length off diagoanl in symtridiagonal solve in LAPACK and do early exit for zero dimensional problems
ModInts: add coprimality check to inv

Ref 01baa5b3d5f9139b5ebd7a8a03dd35dcf7259bcc
test/examples: simple tests of inv(::ModInt)
Merge branch 'master' of github.com:JuliaLang/julia into jb/dictsyntax
allow parsing => as an identifier, and make it an alias for Pair

this way `a=>b` is lowered like every other operator call, except in
the old dict syntax during the deprecation period.

this is probably a good way to deal with it, and we can later decide to
remove the `Pair` alias if we want to.
Make sure we always write the sysimg variables to the right module

To maintain compatibility between the MCJIT and non-MCJIT versions,
jl_Module is #defined to the current module of the function builder.
However, this also means that if we're not currently emitting a
function asking for this module is like a game of Russian roulette,
hoping that the last basic block we emitted into happens to be the
right one. This is not super unlikely since while building the
system image we always emit into the shadow module, but we sometimes
(in particular after an unreachable) emit into a BB not associated
with any module. In any case, it's amazing that this has worked for
this long.

Hopefully fixes #8532