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
Initial implementation of "str".freeze optimization in compiler.

This version only caches strings at the call site, rather than in
a runtime-global table. The runtime-global table would require an
additional weak map so all call sites using the same string would
return the same object. It's probably a good enhancement, but the
bulk of this optimization is gained by having individual sites
return the same object each time.

See http://bugs.ruby-lang.org/issues/8992
De-version IO
Missed 1.8 impls of gets
De-version Kernel
Add missing methods for -np support (sub/gsub)
De-warn + no unneeded name anno value
De-version MatchData
De-version Math + context'ify them
De-version Method
De-warn + reduce unneeded anno attributes
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.
Merge branch 'topic/update_java_signature_method_spec' of github.com:jstoneky/jruby into jstoneky-topic/update_java_signature_method_spec
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.
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.