change timing method in perfutil to use averaging and include GC time
do a better job of avoiding unnecessary GC roots in codegen

this removes stores and loads, and if we can reduce the number of roots
in a function to zero we save significant overhead.
ref #3440
probably fix #3642
generalize usingmodule to accept dotted (sub)modules
Warm up every benchmark before measuring it.
Use median instead of average timings.
Add BigInt and BigFloat to julia-mode.el
Top level `make perf` and `make perf-{micro,kernel,shootout}` targets.
Move QUIET_MAKE from Makefile to Make.inc.
More descriptive names for the cat benchmarks
base and parseint for BigInt
base argument to ndigits() for BigInt
perf: report min, max, mean, and std
also I prefer not to emit the timed expression more than once in the macro
remove global state from shootout benchmarks so they can be run multiple times
add simple perf comparison script
parses the output of `make -C test/perf` and prints a summary.
fix #3647
Allow passing ARGS to evalfile
examples cleanup: remove test.jl.
Merge pull request #3603 from timholy/mmap

RFC: support mmap on Windows
Close #3390

I fixed this a while back but it was pending some other issue in Julia (most notably Int128 shifting). These have now been fixed/worked around.
don't copy parent string when serializing SubString. fixes #3646
fix hang in remotecall_fetch with error. fixes #3599