Don't silence build, so we can see why travis is failing.
Add Exception#cause (http://bugs.ruby-lang.org/issues/8257)
Update tests and stdlib from MRI trunk.
Unconditionally define Enumerator::Lazy methods in our impl.

Our impl was borrowed from Marc-Andre Cournoyer's "backports" impl
which attempted to detect whether it was running on a Ruby that
already had several lazy Enumerator methods defined already. The
logic to do so triggered a thread-based Enumerator (using
Generator) to be created for at least one method detection and
possibly others. This caused some of our trace function tests to
intermittently see one or more Generator thread's death throes,
inserting bogus entries into test results.

This fix removes the detection logic since we know we'll always
need to define the backport version of these methods. No Generator
gets started during boot now.

It is possible this will also slightly improve startup, since that
logic was using slow-path threaded Enumerator logic.
Remove old Generator impl, move toward unifying coroutine logic.

The old Enumerator#next logic used our internal Generator impl,
which proved eventually to be leaky and slow. As of JRuby 1.7.5,
Enumerator#next moved to a Java implementation that was both
faster and better about cleaning up dangling instances, but the
block form of Enumerator.new still used the old Generator logic.

This commit eliminates the old coroutine-based Generator in favor
of a trivial version matching Ruby 1.9+. The block forms of
Enumerator.new now create this trivial Generator and then fall
into the same "Nexter" logic introduced in 1.7.5 for #next.
[IR] Tweaks to break-handling - IRBreakJump should be Unrescuable

* Unsure why IRBreakJump hadn't been marked Unrescuable thus far.
* Eliminates spec crashers in spec/ruby/library/prime/each_spec.rb
[IR] Fixed debugging output in IREvalScript
Disable download progress for builds before test runs.
Use batch mode for builds before tests.
Don't use pushd/popd for bin/jruby link; missing on travis?
Revert "Use batch mode for builds before tests."

This reverts commit ad2f362be43efcea61d2039a1382142920a1570e.
Merge branch 'jruby-1_7'
Revert "Disable download progress for builds before test runs."

This reverts commit 550d1160f91005401bf6684e47d46f8cf2ca3081.
Revert "Don't silence build, so we can see why travis is failing."

This reverts commit cc584cb63deabe30d9020e1611f33b866923822c.
Fix keyrest eating an argument unconditionally in rest logic.

In the logic for preparing a rest argument, we were subtracting
1 from available args if a keyrest arg is present. However,
keyrest should only consume an arg if keyword args are given on
the call side, and this case is already figured into arglen
calculation before we get to the rest logic. Removed the extra
logic for subtracting keyword arg element from args list.

Fixes #1223.
Propagate keyrest through Open3.popen3 to internal version.

This also includes a fix to remove the keyword args from the arg
list when processing the command. If we don't remove it, the arg
list appears to be length > 1 and a single space-embedded command
line will not be split into its component arguments.
Related to #1204.  Make Psych emit strings in proper encoding.  IOOutputStream can now explicitly specify what encoding it wants to write strings with
Merge IOOutputStream change from jruby-1_7
Remove deprecated RubyStringIO in org.jruby package.
[IR] Tweak DefsNode and DefnNode IR building for Ruby 2.1 semantics