Remove redundancy in string comparison methods

This change removes a redundant RubyString type check and branch in
RubyString's `compareTo` method. It also combines the `op_cmp19` and
`op_cmpCommon` methods, as there is no longer a need to separate these
paths (since the Ruby 1.8 `op_cmp` method is no more). Additionally,
calls directly to `op_cmp19` are replaced with calls to `op_cmp`.
Implement JRuby equivalent of `invcmp`

This method performs an inverse comparison (comparing other with self)
with a recursive call gaurd.
Use `invcmp` for String and Time `<=>` operators
Merge pull request #1316 from jballanc/invcmp-impl

Implement `invcmp` and use it with String and Time