cmd/compile/internal/types2: review of api.go
cmd/compile/internal/types2: review of api.go

The changes between (equivalent, and reviewed) go/types/api.go
and api.go can be seen by comparing patchset 1 and 2. The actual
changes are removing the "// UNREVIEWED" marker.

The primary differences to go/types/api.go are:
- use of syntax instead of go/ast package
- use of simpler Error type (for now)
- additional exported Config flags
- different handling of nil values (we can't use Typ[UntypedNil]
  to represent an untyped nil because types2 gives such nil values
  context-dependent types)

Change-Id: I7d46b29d460c656d7a36fe70108a370383266373
Reviewed-on: https://go-review.googlesource.com/c/go/+/304050
Trust: Robert Griesemer <a6752097faebf1f02d80107d77a9be009089afe3@golang.org>
Reviewed-by: Robert Findley <9179eee875d1ee628c37fb47d7e749e855ffd21f@google.com>

cloudflare/go,CAFxX/go,nawawi/go,golang/go,cloudflare/go,golang/go,golang/go,golang/go,golang/go,nawawi/go,CAFxX/go,CAFxX/go,golang/go,CAFxX/go,CAFxX/go,nawawi/go,cloudflare/go,CAFxX/go,cloudflare/go,golang/go,cloudflare/go,nawawi/go,cloudflare/go,nawawi/go,CAFxX/go,golang/go,nawawi/go,CAFxX/go,nawawi/go,cloudflare/go,nawawi/go,cloudflare/go