Add option to keep the cache directory
Currently, Collector removes its cache directory after it completes its work. In cases when Collector is used to run a project build, that output may be needed later on in the site generation. For example, the build may prepare a distribution that contains files that pages may want to include. Rather than importing all those files into the content catalog, the pages may refer to those files using an absolute path. However, since Collector removes its cache after it runs, those files are no longer available. It also means that each time Collector runs on an origin, it's running the build from scratch rather than relying on the state left behind by a previous run. This can disrupt the build cache capabilities of the build tool.
Add a global configuration option to Collector named keep_cache. When this key is set to true, Collector will not remove its cache directory after it runs. Furthermore, it means that the worktree Collector prepares and uses must be unique by origin. If Collector tries to recycle a directory for a worktree, only the last instance of that worktree will be available in the cache, which is not the desired behavior. The behavior to recycle the worktree directory should only be used when Collector is going to remove its cache directory immediately after it runs.