### 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
'''Add or remove SELF.NAME to or from GROUP depending on ACTION.
        ACTION can be 'add' or 'remove' otherwise 'remove' is assumed. '''
        rc = 0
        out = ''
        err = ''
        changed = False
        current = set(self._list_user_groups())
        if self.groups is not None:
            target = self.get_groups_set(names_only=True)
        else:
            target = set([])
        if self.append is False:
            for remove in current - target:
                (_rc, _out, _err) = self.__modify_group(remove, 'delete')
                rc += rc
                out += _out
                err += _err
                changed = True
        for add in target - current:
            (_rc, _out, _err) = self.__modify_group(add, 'add')
            rc += _rc
            out += _out
            err += _err
            changed = True
        return (rc, out, err, changed)
    def _update_system_user(self):