Drop extract directories
We should use CasBasedDirectory / the virtual directory API to access cached artifacts instead of creating extract directories. This will avoid the overhead of creating these extract directories and is a step towards supporting object-based CAS expiry and partial local CAS.
This depends on #920 (closed).