Allow configuring which python interpreters are tried in PythonFinder

It made sense to have PythonFinder just access the config directly from Config, so I made it non-static so that it could implement ConfigChangeListener. Also, I made it cache the results of the lookup to save a few execs.