extract ill-formed version handler
don't use frozen strings in SystemRubyVersion
don't resolve gems requiring a greater ruby version