Factor File.join to join ids path pairs

It is not semantically correct in those cases since that uses
the separator of the current system, but the GitLab frontend is
system agnostic, e.g., should in theory work in Windows where the
path separator is \ without front-end changes.