Port over a bunch more transcoding stuff + gzip encoding logic.
Patch up things that broke from my mega-port.

* GzipReader#read always returns ASCII-8BIT strings when given a
  length.
* String#encode needed some ported logic to fit other pieces.
* Get ECONV constants propagated into RubyConverter.
* Encoding 7-bit strings from/to ASCII-compat encs is a no-op.
rspec let to stop repetation of same code
Large port of MRI IO transcoding logic, to fill in our gaps.
Fixes and a few additional ports to get test:mri19 green.

Additional fixes to get test:mri18 green.
Edging closer to everything passing again.
using let of rspec for non repetative declaration
Merge branch 'fix_spec' of https://github.com/rajcybage/jruby
Use 'let' in code, and fix spec description

Avoid hard coding reused value.
Fix spec description text
Fixes to get all 1.9 specs passing again.
IR Experimental: call-site profiling that feeds into inlining

* Added experimental call-site profiling in the IR interpreter
  and used it to drive inlining decisions.

  On bench_richards about ~7% speedup (~9% fewer instrs)
  On red_black_tree, about ~10% slowdown (~10% more instrs)

  To be investigated and experimented with more.
  Committing so others can partake of the fun as well.
Two steps forward, one step back. Re-fix unit test failures.
Merge remote-tracking branch 'origin'
Merge branch 'master' of https://github.com/jruby/jruby
Merge branch 'master' of https://github.com/jruby/jruby