### 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
width = 0
    counter = 0
    for c in text:
        counter += 1
        if c in (u'\x08', u'\x7f', u'\x94', u'\x1b'):
            
            
            
            
            
            width -= 1
            counter -= 1
            continue
        try:
            w = _LIBC.wcwidth(c)
        except ctypes.ArgumentError:
            w = -1
        if w == -1:
            
            
            w = 0
        width += w
    if width == 0 and counter and not _LOCALE_INITIALIZED:
        raise EnvironmentError(
            'ansible.utils.display.initialize_locale has not been called, '
            'and get_text_width could not calculate text width of %r' % text
        )
    
    return width if width >= 0 else 0
class FilterBlackList(logging.Filter):