BUG: Missing value code not recognised for Stata format version 105 a…
…nd earlier

- [x] closes #58149 (Replace xxxx with the GitHub issue number)
- [x] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [ ] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [x] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

This is an initial attempt at fixing this bug, although a more efficient implementation probably exists.

As Pandas does not write in any of these version formats I have simply replaced instances of the old missing code with the current one for these versions before carrying on as before.

I believe that the range of valid values for float/double was also changed when the missing code was changed, however as this was widened any existing files written in these formats should still be within the current range and therefore will be read correctly. If an older format version is created with values outside the documented range then the current version of Stata (18) reads them as valid values, rather than converting them to missing, so I think the behaviour here is consistent with that.
Thanks @cmjcharlton 