### Summary

Attempting to use the `hostname` module on a host running [CBL-Mariner](https://github.com/microsoft/CBL-Mariner) fails with the following error:

`hostname module cannot be used on platform Linux (Mariner)`

It looks like a method specifically for this OS is needed in modules/system/hostname.py.

Similar bugs in the past: #42726 and #58444
A PR to fix similar issues in the past is #56936

### Issue Type

Bug Report

### Component Name

hostname

### Ansible Version

```console
$ ansible --version
ansible 2.9.23
  config file = None
  configured module search path = ['/home/fedora/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.7.10 (default, Sep 28 2021, 20:29:11) [GCC 9.1.0]
```


### Configuration

```console
$ ansible-config dump --only-changed
```


### OS / Environment

OS is [CBL-Mariner](https://github.com/microsoft/CBL-Mariner)
/etc/os-release
```
NAME="Common Base Linux Mariner"
VERSION="1.0.20211230"
ID=mariner
VERSION_ID=1.0
PRETTY_NAME="CBL-Mariner/Linux"
ANSI_COLOR="1;34"
HOME_URL="https://aka.ms/cbl-mariner"
BUG_REPORT_URL="https://aka.ms/cbl-mariner"
SUPPORT_URL="https://aka.ms/cbl-mariner"
```
/etc/lsb-release
```
DISTRIB_ID="Mariner"
DISTRIB_RELEASE="1.0.20211230"
DISTRIB_CODENAME=Mariner
DISTRIB_DESCRIPTION="CBL-Mariner 1.0.20211230"
```
```
/etc/mariner-release
CBL-Mariner 1.0.20211230
MARINER_BUILD_NUMBER=f33d439
```

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
- name: "ensure hostname is correct"
  hostname: name={{ inventory_hostname }}
```


### Expected Results

I expected `hostname` to "just work" given CBL-Mariner is derived from Fedora Server 35.

### Actual Results

```console
Error received: hostname module cannot be used on platform Linux (Mariner)
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
name=dict(type='str', required=True),
            use=dict(type='str', choices=STRATS.keys())
        ),
        supports_check_mode=True,
    )
    hostname = Hostname(module)
    name = module.params['name']
    current_hostname = hostname.get_current_hostname()
    permanent_hostname = hostname.get_permanent_hostname()
    changed = hostname.update_current_and_permanent_hostname()
    if name != current_hostname:
        name_before = current_hostname
    elif name != permanent_hostname:
        name_before = permanent_hostname
    else:
        name_before = permanent_hostname
    
    
    kw = dict(changed=changed, name=name,
              ansible_facts=dict(ansible_hostname=name.split('.')[0],
                                 ansible_nodename=name,
                                 ansible_fqdn=socket.getfqdn(),
                                 ansible_domain='.'.join(socket.getfqdn().split('.')[1:])))
    if changed:
        kw['diff'] = {'after': 'hostname = ' + name + '\n',
                      'before': 'hostname = ' + name_before + '\n'}
    module.exit_json(**kw)
if __name__ == '__main__':
    main()