Document thread-safety issues in C callbacks
Implement UDP
add pointer(s) for strings, change UTF32String.chars to .data for consistency
Fix spelling mistake
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
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)
some refactoring of the scheduler

- notify(Task) should really be part of the schedule(Task) function

- simpler produce/consume that depends on fewer task state variables
  and moves towards better interaction between scheduled and
  un-scheduled tasks

- the runnable flag now means !scheduled; will rename shortly

- simpler event loop. it no longer needs to test t.runnable; instead
  whenever control returns you automatically know to exit the loop

- task exit logic moved fully to task_done_hook

- the biggest problem in all of this is hacks to make produce and
  consume as fast as possible. going through the scheduler still costs
  about a factor of 2 over what's possible
  it turns out to be fairly simple to have produce/consume yield manually
  for performance, and yet interact smoothly with the scheduler. the only
  problem is handling the producer exiting. we might need custom exit
  hooks to handle this more generally.
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
setfield -> setfield!