Documentation

Given a possible starting path (which if not given defaults to
the current directory) and a fragment of a path we find all
files within the given (or current) directory which can complete
the given path fragment.
We return a pair of both directory plus the filenames on their own
that is without their directories. The reason for this is that if
we return all of the filenames then we get a hint which is way too
long to be particularly useful.