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.
rather than duplicating the package name, which is error-prone (e.g. you specify the wrong package in a bunch of the test case data), maybe it would be easier to have a boolean "pkgTest" or something, that when true will append "_test" to the end of the package name?