IO.copy_stream should handle objects that respond to read or write. Fixes #437
Improve GzipReader#gets performance.

Previously checked the whole line for the separator after each character
read. The new version instead just checks whether the line read so far
ends with the separator.

Note that the current version of ByteList#startsWith/endsWith assumes
the index and byte list arguments are valid, which means we must not
call the method before the line is long enough.
Added rake task for running IR specs
GH #737: require_relative fails in jars (missing test coverage of this)
Try and remove travis failure for spawn
Add OSGi Test
Make Time#to_date compliant with MRI 1.9-2

Time#to_date should use the proleptic Gregorian calendar to construct a Date,
but should return a Date object with the default calendar reform day. This is
unlike the behavior of Ruby 1.8 Time#to_date, which was private and seems to
have served as the basis for the current implementation. A specification
for this method has been added to rubyspec.
Upgrade JRuby to reference OSGi 4.3

Now, if JRuby is running in an OSGi 4.3 container, it will use the
more straightforward (and standard) BundleWiring to find the
ClassLoader, rather than the old reflection tricks.  If running in
an earlier container, will continue to use the old method.
Merge branch 'feature/add-osgi-test'

Conflicts:
	.classpath
	nbproject/project.xml
invokebinder release happened
Update parent artifact version
Revert jnr-posix to earlier one since mvn release is stuck
Bump for 1.7.4
Bump for next development release
Move varTable logic out of core classes into its own object.
Split synchronized and stamped ivar logic into separate accessors.
Rewire invokedynamic to new accessor logic.

Instead of going through the virtual impl of
IRubyObject.getVariable and setVariable, this patch utilizes the
newly refactored ivar logic to make a more direct path from indy
call sites. Incoming objects are cast to RubyBasicObject to avoid
interface inlining issues. realClass is cached in the call site
as it is for normal invocations. And we dispatch directly to
either the synchronized or the stamped versions of varTable update
logic to avoid constantly checking whether we have Unsafe support.

As a result, red_black sees about a 30% improvement from the
combination of this change and the previous refactoring of ivar
logic into separate paths.
License and document new vartable classes, plus mild refactoring.
Refactor JIT compiler bean a bit.
Cache booleans with indy, so they can fold away.