Introduce $(build_shlibdir)

Abstracts away the fact that Windows wants shared libraries to be in $(bindir) whereas other operating systems prefer their shared libraries and executables separated
General cleanup of .dll installation

Also removal of .SILENT rule
Fix codespeed submission process
Fix codespeed data submission
Make f, d, def actual let variables in test/collections.jl (fixes #5470)

When test/core.jl, test/collections.jl, and test/remote.jl are all
run on the same core, a global variable :f is defined in test/core.jl
in the test for issue #2619, which was then redefined inside of a let
block by the (recently added) `get!` test in test/collections.jl,
which was propagated to test/remote.jl and caused #5470.

This commit makes f an actual let variable, after which f does not
seem to be global in test/remote.jl, and the local def works.
No, the GC stack is not in fact a constant

Fixes remaining MCJIT issues on OS X. I'm not exactly sure what LLVM did
in this case, but I know it can't be good. I'm actually surprised this works
some of the time. You wouldn't believe how much time I've spent tracking down
this one misplaced bit!
bitarray indexing: sync with array + refactor

* Use setindex_shape_check and DimensionMismatch instead
  of generic errors; this (and a couple of extra minor fixes)
  makes BitArrays behave like Arrays (again)
* Move portions of the indexing code to multidimensional.jl
* Restrict signatures so as to avoid to_index and convert, then
  create very generic methods which do the conversion and the
  dispatch: this greatly simplifies the logic and removes most
  of the need for disambiguation. Should also improve code
  generation.
bitarray: more systematic indexing tests
bitarray: small code simplifications

follows change in bitshift operators behavior
(i.e. saturating instead of modular)
minor speedup in runtests all
Fix isassigned for BitArrays

(and therefore show_delim_array, show_vector, showall, repr,
the show macro etc.)

Fixes #5754
SharedArray: don't splat for getindex/setindex! dimensions 1-5

Yields a ~10x performance increase for 3-dimensional SharedArrays
implement more descriptive task states. fixes #5736

fortunately, we were already documenting that ``Task`` accepts a
0-argument function. now we take full advantage of this to simplify
the scheduler by dropping the behavior of passing arguments on the
first call to ``yieldto``.
Better fix for #5754

Split show_delim_array in two, one version specialized for
AbstractArrays which uses linear indexing and checks for undefs,
and a generic one which uses start/next/done.

Also properly implement isassigned for BitArrays.
Fix #5758
finally a good implementation of produce and consume

the version we've had for a while was fast, but didn't provide fair
scheduling and was really complex.

the new version is fair, simple, and performs almost as well as the
old one in the easy case (1 consumer, producer not blocked on I/O).

the key was to isolate the function schedule_and_wait(), which allows
scheduling to be replaced with a direct yieldto() when possible. the
scheduler knows best how to do this; trying to replicate this logic
outside the scheduler is awkward.
Merge branch 'master' of github.com:JuliaLang/julia into jb/scheduler_update
wait() no longer needs current_task()
fix bug in rehashing typeToTypeId table. ref #5688
Merge branch 'master' of github.com:JuliaLang/julia into jb/scheduler_update