There are some platforms (the xnu kernel being one) where trying to run just one thread can cause problems, and you need to always run all threads whenever you do more than a single step-i.
This patch adds a target.process.run-all-threads setting which overrides the default "run-mode" value for all the stepping commands.
I also needed to come up with a way to test this. The easiest way to do that was to use a scripted thread plan so that I could check the incoming value. But to do that I needed to plumb the stop others through the scripted-step & the ThreadPlanPython, which this patch also does.
It feels like the last sentence shouldn't be there.
Also, the comment doesn't explain *why* "we need to pretend".