work on using temporary working trees for dex operations.

implementation allows passing a function to a withTempTree() function that sets up context and automatically tears it down after.

not quite all tests are rewritten to use it yet -- we're going to make the whole idea of PreparePublish() and similar methods go away before trying to fix tests that refer to them.
moving forward on a new interface to dex.Graph that conceals the details of filesystems more thoroughly from callers.

prototype for export tentatively done, pending some minor changes in guitar; importing todo.
advance the link to guitar; remove link to dotcloud's tar fork as guitar now has.
GraphLoadRequest, to match GraphStoreRequest.

the import for the io package has now entirely disappeared from the docket commands package, which is a portent of victory.
Merge branch 'git-rework'