source.py: Allow source provenance info to be overridden

This allows multi-source source plugins to provide this information per
source rather than as a singular top level.

This is done by adding a `provenance_node` parameter to
`create_source_info()` that when specified overrides the use of the
source's top level source provenance info.

Co-authored-by: Joshua Zivkovic <joshua.zivkovic@codethink.co.uk>
1 file changed