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.
Interesting. If the package is wrong for some tests, why don't they fail? :-) Actually I considered doing as you say but liked it being more explicit and flexible. No strong preference though.