Add specs for recursion guard on `<=>`

This adds specs to Time and String to ensure that the reverse comparison they perform as part of the `<=>` method does not result in a stack overflow. Related to [Ruby Bug #7870](http://bugs.ruby-lang.org/issues/7870). The MRI test suite contains a test (for the specific case of comparing a Time object to a String object) [here](https://github.com/ruby/ruby/blob/trunk/test/ruby/test_comparable.rb#L73).