Improvement to coverage.py source file search algorithm

If the coverage.py source file is not found in the source directory, the build
directory is first searched before raising an error.

This is necessary because it is a valid workflow to build a Python package from
source, then install this package to a virtualenv that lives in the build
directory.  Tests will run against this deployed package and therefore the
covered source files will be found in a subdirectory of the build directory, and
not anywhere in the source directory.
Merge topic 'fix-coverage-py' into next

b9beed94 Improvement to coverage.py source file search algorithm