PublicShow -- Support :- include(File) from SWISH

This module allows SWISH programs to include other programs from the shared gitty store. It realises this using the following steps:

We allow for hierarchical and circular includes.

Source prolog:xref_source_identifier(+Src, -Id) is semidet[multifile]
prolog:xref_open_source(+File, -Stream) is det[multifile]
prolog:xref_source_time(+File, -Modified) is det[multifile]
Map swish://file to a file from the gitty store.
Source prolog:xref_source_file(+Term, -Path, +Options)[multifile]
Deal with the above expansion for :- include(program) to support the cross-referencer.