imports: limit local disk concurrency, avoid reads in non-Go directories
imports: limit local disk concurrency, avoid reads in non-Go directories

If $GOPATH was large, or $GOPATH was $HOME and $HOME/src had
many files, the unbounded concurrency in loadPkgIndex/loadPkg
could make the operating system unhappy with so many
threads. (sigh once again for no async file IO and needing
threads for file operations)

In addition, don't call go/build.Context.Import on directories
that we've already determined to have no go files in them.
It's just a waste of time. Makes it about 3x faster on my
machine with hot caches and a big $HOME/src.

Fixes Issue 7731

LGTM=iant, adg
R=golang-codereviews, iant, adg
CC=david.crawshaw, golang-codereviews
https://codereview.appspot.com/85670044

t-yuki/go.tools.old,t-yuki/go.tools.old,t-yuki/go.tools.old