Find outside-package test dependencies too.

I added a call to `go list` using `XTestImports`, and a test for outside-package test dependencies. To do that, I had to add a `pkg_name` field to the `file` struct, and the matching values to all tests.

I also added a deferred removal of temporary test directories.

Fixes issue #11.
Yeah, it doesn't cause the tests to fail because imports are specified using directories.   (In particular, lines 71, 86, 90, 112, 113, 122, 126, have "p1" for a bunch of non-p1 packages.)