Multi package linting

This should fix #68. I still want to figure out if it is a problem that foo and foo_test are linted together but I would also like to hear your feedback if this is an OK direction.
Yeah, I don't like where this code is heading. It's starting to implement too much of go/build.

Here's an alternate approach that might be simpler:
  - partition the list of file names by their directory.
  - make a build.Context (called ctxt) that is build.Default *except* that it replaces its ReadDir field.
  - the custom ReadDir does an os.Stat on the partition map.
  - use ctxt.ImportDir on each of the dirs in the partition map.

That then uses go/build as is, except for a pseudo-VFS to give the subset of files passed in on the command-line. That gives all this test-related special-casing for free.

There's a very similar idea in https://code.google.com/p/appengine-go/source/browse/go-app-builder/parser.go if you want somewhere to crib off.