Use virtual directories for staging dependencies
This is a step towards removing the need for extract directories and a requirement for partial local CAS. It should also provide a speedup for staging when using remote execution (or when available, buildbox-fuse).