source.py: don't let StopIteration propagate to silence() contextmanager
Description
Starting from python 3.7, raising a StopIteration from a context manager will be converted to a RuntimeError, as per PEP479.
This MR fixes all occurrences of this warning.
An example that shows the warnings is https://gitlab.com/BuildStream/buildstream/-/jobs/117989712. It can be checked on the current pipeline that this does not arise anymore
Changes proposed in this merge request:
- Don't let StopIteration propagate to the
silencecontext manager
This merge request, when approved, will close: