### Summary

If you set `skeleton` to `/dev/null` in `user` module you get an error saying that it's not a directory. However it's perfectly fine to do `useradd --skel /dev/null`, so ansible shouldn't be limiting the functionality of the `useradd` command.

`useradd --skel /dev/null` will cause nothing to be added to the new home directoy. It used to work correctly in older versions of ansible and should be fixed in this version.

### Issue Type

Bug Report

### Component Name

user

### Ansible Version

```console
$ ansible --version
2.11.1
```


### Configuration

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


### OS / Environment

linux

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)

```


### Expected Results

`/dev/null` should be allowed and result in no files being added to new home directory

### Actual Results

```console
It caused an error saying that /dev/null is not a directory
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
info = self.user_info()
        overwrite = None
        try:
            ssh_key_file = self.get_ssh_key_path()
        except Exception as e:
            return (1, '', to_native(e))
        ssh_dir = os.path.dirname(ssh_key_file)
        if not os.path.exists(ssh_dir):
            if self.module.check_mode:
                return (0, '', '')
            try:
                os.mkdir(ssh_dir, int('0700', 8))
                os.chown(ssh_dir, info[2], info[3])
            except OSError as e:
                return (1, '', 'Failed to create %s: %s' % (ssh_dir, to_native(e)))
        if os.path.exists(ssh_key_file):
            if self.force:
                
                overwrite = 'y'
            else:
                return (None, 'Key already exists, use "force: yes" to overwrite', '')
        cmd = [self.module.get_bin_path('ssh-keygen', True)]
        cmd.append('-t')
        cmd.append(self.ssh_type)
        if self.ssh_bits > 0:
            cmd.append('-b')