### Summary

When trying to compare `ansible_version.full` with a value using the [version test](https://docs.ansible.com/ansible/latest/user_guide/playbooks_tests.html#comparing-versions) for an RC release such as `2.13.2rc1` there is no good comparator to use:

* `strict` and `semver` consider this an invalid version number
* `loose` considers this a postrelease

I think Ansible should be able to correctly compare its own versioning scheme using the `strict` versioning, hence I'm filing this as a bug.

For reference, we're seeing this issue in https://github.com/DataDog/ansible-datadog/issues/445.

### Issue Type

~Bug Report~
Feature Idea

### Component Name

lib/ansible/module_utils/compat/version.py

### Ansible Version

```console
$ ansible --version
ansible [core 2.13.2rc1]
  config file = /Users/slavek.kabrda/programming/ansible.cfg
  configured module search path = ['/Users/slavek.kabrda/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/slavek.kabrda/programming/ansible-venv-rc/lib/python3.9/site-packages/ansible
  ansible collection location = /Users/slavek.kabrda/.ansible/collections:/usr/share/ansible/collections
  executable location = /Users/slavek.kabrda/programming/ansible-venv-rc/bin/ansible
  python version = 3.9.13 (main, May 24 2022, 21:28:31) [Clang 13.1.6 (clang-1316.0.21.2)]
  jinja version = 3.1.2
  libyaml = True
```


### Configuration

```console
# if using a version older than ansible-core 2.12 you should omit the '-t all'
$ ansible-config dump --only-changed -t all
DEFAULT_CALLBACK_PLUGIN_PATH(/Users/slavek.kabrda/programming/ansible.cfg) = ['/Users/slavek.kabrda/.ansible/plugins/callback']
DEFAULT_HOST_LIST(/Users/slavek.kabrda/programming/ansible.cfg) = ['/Users/slavek.kabrda/hosts']
HOST_KEY_CHECKING(/Users/slavek.kabrda/programming/ansible.cfg) = False

CONNECTION:
==========

paramiko_ssh:
____________
host_key_checking(/Users/slavek.kabrda/programming/ansible.cfg) = False

ssh:
___
host_key_checking(/Users/slavek.kabrda/programming/ansible.cfg) = False
```


### OS / Environment

I think the only relevant environment is having an RC version of ansible-core, I have `2.13.2rc1`.

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
- name: "Test ansible version"
  command: "echo foo"
  when: ansible_version.full is version("2.11", operator="lt", strict=True)
```

### Expected Results

Command passes.

### Actual Results

```console
The error was: Version comparison failed: invalid semantic version '2.13.2rc1'
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
''' Test if task result yields skipped '''
    if not isinstance(result, MutableMapping):
        raise errors.AnsibleFilterError("The 'skipped' test expects a dictionary")
    return result.get('skipped', False)
def started(result):
    ''' Test if async task has started '''
    if not isinstance(result, MutableMapping):
        raise errors.AnsibleFilterError("The 'started' test expects a dictionary")
    if 'started' in result:
        
        
        return result.get('started', 0) == 1
    else:
        
        display.warning("The 'started' test expects an async task, but a non-async task was tested")
        return True
def finished(result):