cgo packages with assembly: Support CGO_ENABLED=0 (#3661)

* cgo packages with assembly: Support CGO_ENABLED=0

Go supports building cgo packages both with and without Cgo. It uses
build constraints to exclude the appropriate files. When building a
Cgo package with assembly files, we must exclude them. Previous to
this change, rules_go would run the Go assembler on them. This meant
that packages which had "conditional" imports of cgo libraries with
assembly would fail when compiled with cgo disabled.

Add tests for these two cases:
* asm_conditional_cgo: A Go package that compiles both with and
  without Cgo.
* asm_dep_conditional_cgo: A Go package that conditionally imports
  a package with Cgo.

Fixes:
https://github.com/bazelbuild/rules_go/issues/3411

* code review improvements: remove unused main; clarify comment
15 files changed