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
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
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!
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
Don't ignore dll installation failure
Merge pull request #5727 from JuliaLang/sf/build_shlibdir

Improve dll installation logic