return nil unless `other` is comparable.  Fixes #284

Apparently RDoc was relying on `<=>` raising an exception to mean "not comparable" rather than returning nil.  This patch returns nil when they are not comparable.  Ruby trunk raises an exception due to [this ticket](https://bugs.ruby-lang.org/issues/7688).