Add extra support for determining current ruby type

Add `rbx?` `mri?` and `non_mri?` Ruby "types", for rspec/rspec-core#1760 but that highlighted to me that we could use some refactoring across our repos to remove duplication of detection for ruby types
Why is this one `unless ...` rather than `raise SyntaxError unless ...`?