Set data_dir in pipeline.

In Seesaw, while all fetch items have their own scratch directories, those scratch directories all share a common non-/ parent.  That's fine. However, prior to this commit, that scratch directory was only accessible when you had access to an item.

This can make life awkward in some cases.  The motivating example is Archive Team's ArchiveBot[1], which will have a background task that periodically reports on memory and disk space usage.  It's difficult to get the latter unless it's visible at pipeline scope.  (The alternative is to install one reporting task per item, but that shouldn't be necessary -- there's one pipeline and one scratch directory.)

This commit moves the common scratch directory up to the pipeline, where it can be more easily accessed.

[1] https://github.com/ArchiveTeam/ArchiveBot