propagate exception on wait() or yieldto() on a task in the exception
state

don't print fatal error for non-root task without exception
handler. this is not fatal and in fact can happen regularly.

small cleanups to yield_until()
Added get! for Dicts

* Refactored setindex! into ht_keyindex2, for use by get! and setindex!
Add docs, do-block function for get!
cleanup and code reorg: move scheduler code to task.jl

now multi.jl deals only with distributed parallelism

remove no-longer-used WeakRemoteRef
Merge pull request #5687 from JuliaLang/jn/no_scheduler

remove Scheduler
Add docs, do-block function for get

Also added get, get! for WeakKeyDicts
pass size in bytes, not bits, to allocate_box_dynamic
Merge pull request #5519 from JuliaLang/kms/get!

RFC: Add `get!` for Dicts (addresses #1529)
Document divrem()
Merge pull request #5739 from jperla/master

Document divrem()
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)
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