File -> Path revamp.

This also enables the introduction of ZipFileProject which treats the contents
of a zip file as a simple FileProject-like project, but the nice thing is that
file completion then completes from the contents of the zip file.