go/types, types2: no "imported but not used" error for unimported packages
If a package could not be imported for whatever reason, the type checker
creates fake package with which it continues for more tolerant type
checking.
Do not report an "imported but not used" error in that case.
Clarify a few comments along the way.
Fixes #43109.
Change-Id: Ifeec0daa688fbf666412dc9176ff1522d02a23ef
Reviewed-on: https://go-review.googlesource.com/c/go/+/396875
Trust: Robert Griesemer <gri@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>