Allow archive.extracted to be used during highstate run

Use state.single instead.
Use better target cache dir. (Note that this may cause previously cached
files to be re-cached!)

Fixes #16658