262ca8b576
Preparing for #2058, i found it hard to follow where which discovery function gets called. I moved all the discovery functions to a `find_python` module (some exposed through `PythonEnvironment`) and documented which subcommand uses which python discovery strategy. No functional changes. 