### 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
"""
    This is a macOS hostname manipulation strategy class. It uses
    /usr/sbin/scutil to set ComputerName, HostName, and LocalHostName.
    HostName corresponds to what most platforms consider to be hostname.
    It controls the name used on the command line and SSH.
    However, macOS also has LocalHostName and ComputerName settings.
    LocalHostName controls the Bonjour/ZeroConf name, used by services
    like AirDrop. This class implements a method, _scrub_hostname(), that mimics
    the transformations macOS makes on hostnames when enterened in the Sharing
    preference pane. It replaces spaces with dashes and removes all special
    characters.
    ComputerName is the name used for user-facing GUI services, like the
    System Preferences/Sharing pane and when users connect to the Mac over the network.
    """
    def __init__(self, module):
        super(DarwinStrategy, self).__init__(module)
        self.scutil = self.module.get_bin_path('scutil', True)
        self.name_types = ('HostName', 'ComputerName', 'LocalHostName')
        self.scrubbed_name = self._scrub_hostname(self.module.params['name'])
    def _make_translation(self, replace_chars, replacement_chars, delete_chars):