Propagate all exceptions out of fibers. Fixes #1106.

Only Ruby exceptions were propagating before. This modifies the
thread logic for fibers to also propaate the original Java
exception out in the same way.

This also allows Thread#raise to be called with a Java exception,
which was missing before and needed for this fix.
Updated method_spec to test additional java_signature return types

Added new specs to validate java_signature returning the correct java form:
  When using primitive arrays as a return type
  When using collections with generics as a return type
Property substitutions apply globally, nimrod.
Always use runtime's err when logging top-level exception.

Fixes #1082.
Move tracing tests earlier in "long" suite to avoid interference.

Conflicts:
	rakelib/test.rake
Update to RubyGems 2.1.7.
String#index given Regexp past end of string should return nil.

Fixes #1087.

See http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/23660

and the commit that fixed it: https://github.com/ruby/ruby/commit/6a3931e0f630f56d4acd2b232f58c0225f03f52b
Guard data.prev from being null propagating Java excps from Fiber.
Partial re-port of reopen to handle modes better. Fixes #1104.

This is only a partial re-port of MRI reopen logic, but it does
a better job of propagating the incoming IO's modes to the new
stream/descriptor under the covers. The cases given in the bug now
pass and I will try to come up with a good test case for them.
Fix compilation error.
Rework some GZipWriter construction logic to fix #1088

* Fix open->newInstance sequence so initialize has the right arity
* Process level and strategy on the way in
* Pass level to jzlib
* Peel off opt hash correctly

Still to do:

* Pass strategy to jzlib
* Match MRI call args for deflateInit2
* Other tweakery to match MRI logic.

See also #1108
Return if we can’t get proper native handle.

This avoids a ArrayIndexOutOfBoundsException in case we got invalid
native handle. The program will still die, but it will now instead
return

  java.lang.RuntimeException: C extension initialized against invalid ruby
  runtime

as error.
Some cleanup.
Cleanup GzipWriter and eliminate singleton #path method.
Merge remote-tracking branch 'origin/jruby-1_7'

Conflicts:
	core/src/main/java/org/jruby/ext/zlib/JZlibRubyGzipWriter.java
	rakelib/test.rake