DOC: Add sphinx spelling extension
This is my first time contributing to a project this big so I hope everything is okay
I am still working on fixing bugs and polishing a few things but here is what I have done so far:

- fixed typos
- updated a wordlist txt file with words to be ignored by the spellchecker
-  added the spellcheck method to the DocBuilder class (should this be named spelling?)

I've re-used the _sphix_build method to run the spelling command, to do this I had to update the _sphix_build method to include 'spelling' as a kind.  I'd like to know if this is the best approach of If I should just replicate the code.

I have added a few configuring options in order to get better results when using the spellcheck, the first one was to use the wordlist text file, the second was to ignore known PyPI packages names and finally to show suggestions of a misspelt word. 

At the moment the spellcheck will run if we type the command: `python make.py spellcheck`  and the spellcheck method is called, I haven't yet figured out how to fail the build when there are exceptions like the Issue 21079 suggested.

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