Check equality of DataIterator type properly

- As type attribute of DataIterator is of type Object, we can't just
  compare it with type of edge using ==
- Using equals when it is not null and otherwise comparing with ==
- Similar to https://github.com/jruby/jruby/commit/389bcda7f46ac6770cf961f94329d9e4ec422d81
change vertexFor to findOrCreateVertexFor

- vertexFor method has a side effect of creating new vertex if there
  is no vertex with given data
- findOrCreateVertexFor explains this intent more clearly
Fix test_load.rb

This was recently enabled in 4b6dfbc, probably accidentally.  Happy
accident though: it's working in 1.9 now once we re-add the
requireTest-1.0.jar, so that's one less FIXME.
Remove failing ffi-dependent test

With ffi being removed in 1ca75b2, this test is no longer valid.
Tests for PKCS12 - allow creating from UTF8 strings but coerce to ASCII. Bug 1092.
Coerce PKCS12 init string to ASCII_8BIT if not.
Remove Kernel.gsub_bang as that was removed in 1.9
Remove 1.8 compatiblity methods from Kernel
Remove 1.9 compatibility flags from Kernel
Remove unused 2.0 compatibility flag from Kernel
Fixes #1167. "print" called with no arguments prints "nil"
Fixes #1167. print called with no arguments prints nil
Merge with 1.7
Improve String#rindex performance for pathological cases

When the haystack string contained a non-single-byte character, code
would previously call `StringSupport.nth` for every backwards
step. `nth` walks all the way through the string from the
beginning. The combination of these caused O(n^2) behavior.

Now `rindex` follows MRI's pattern of simply walking backward until we
find the previous character.

Fixes #1140
Merge remote-tracking branch 'github/master'
Merge pull request #1162 from dmarcotte/fix-tests

Fix tests on master
Fix test_load.rb

This was recently enabled in 4b6dfbc, probably accidentally.  Happy
accident though: it's working in 1.9 now once we re-add the
requireTest-1.0.jar, so that's one less FIXME.
Remove failing ffi-dependent test

With ffi being removed in 1ca75b2, this test is no longer valid.
Merge pull request #1170 from shepmaster/rindex-perf-improvement

`rindex` performance improvement
Improve String#rindex performance for pathological cases

When the haystack string contained a non-single-byte character, code
would previously call `StringSupport.nth` for every backwards
step. `nth` walks all the way through the string from the
beginning. The combination of these caused O(n^2) behavior.

Now `rindex` follows MRI's pattern of simply walking backward until we
find the previous character.

Fixes #1140