Rework the tests for `self_check_outdated` to do less mocking
Rework the tests for `self_check_outdated` to do less mocking

This makes the tests more reliable and easier to reason about. This also
adds a few more cases under the test conditions.

pfmoore/pip,pypa/pip,pypa/pip,pfmoore/pip,pradyunsg/pip,sbidoul/pip,sbidoul/pip,pradyunsg/pip