API: allow nan-likes in StringArray constructor
- [x] closes #40839
- [x] tests added / passed
- [x] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing.html#code-standards) for how to run them
- [x] whatsnew entry

Looking at OP #30980 this was done to ensure that a double pass is not made over data, but I don't think I'm doing that here. 
This is a precursor for #40687 
Marking as needs discussion since it might be controversial which nan-likes to allow in the constructor.