ENH: Add StataWriter 118 for unicode support
Add StataWriter with unicode support

- [X] closes #23573
- [X] tests added / passed
- [X] passes `black pandas`
- [X] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

@kshedden can you double-check this?  It looks fine to me, but I think you're better-informed on this than I am. Sorry, I'm not familiar at all with the writers. Hello @bashtage! Thanks for updating this PR. We checked the lines you've touched for [PEP 8](https://www.python.org/dev/peps/pep-0008) issues, and found:







There are currently no PEP 8 issues detected in this Pull Request. Cheers! :beers: 

##### Comment last updated at 2019-12-31 16:38:17 UTC scikit-learn related failure LGTM.  @TomAugspurger are we letting the sklearn thing in travis block merging? Nope, it's OK to ignore. CI failure looked unrelated.

```
________________ TestRegistration.test_registering_no_warning _________________
[gw1] win32 -- Python 3.7.5 C:\Miniconda\envs\pandas-dev\python.exe

self = <pandas.tests.plotting.test_converter.TestRegistration object at 0x000002411CB02788>

    def test_registering_no_warning(self):
        plt = pytest.importorskip("matplotlib.pyplot")
        s = Series(range(12), index=date_range("2017", periods=12))
        _, ax = plt.subplots()
    
        # Set to the "warn" state, in case this isn't the first test run
        register_matplotlib_converters()
        with tm.assert_produces_warning(None) as w:
>           ax.plot(s.index, s.values)
```

Merged master to see if its fixed. CI failure again looks unrelated (and azure won't let me re-run).  merged master to force re-run. @jreback @jbrockmendel green.  thanks @bashtage 