### Summary

Add preflight checks to `lib/ansible/cli/__init__.py` for both the local locale and the fsencoding to ensure they are `UTF-8`, and abort when they are not.

We implicitly require this now, but have never strictly enforced it. Due to using `pathlib` in more places, to avoid undefined behavior in our codebase, due to the utf-8 expectation, check this early and fail fast.

### Issue Type

Feature Idea

### Component Name
```
lib/ansible/cli/__init__.py
```
### Additional Information

We may also need to evaluate the `C` locale.  I know some users are running ansible from devices with only the `C` locale.

### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
""" Display a message to the user
        Note: msg *must* be a unicode string to prevent UnicodeError tracebacks.
        """
        if self._final_q:
            
            
            
            return self._final_q.send_display(msg, color=color, stderr=stderr,
                                              screen_only=screen_only, log_only=log_only, newline=newline)
        nocolor = msg
        if not log_only:
            has_newline = msg.endswith(u'\n')
            if has_newline:
                msg2 = msg[:-1]
            else:
                msg2 = msg
            if color:
                msg2 = stringc(msg2, color)
            if has_newline or newline:
                msg2 = msg2 + u'\n'
            msg2 = to_bytes(msg2, encoding=self._output_encoding(stderr=stderr))
            
            
            
            msg2 = to_text(msg2, self._output_encoding(stderr=stderr), errors='replace')