String#<=> should be called depending on the arg type

When a argument responds only to <=> and not to_str then call the <=> method else call the to_str method or just return nil