Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
Update bazelbuild/rules_go, kubernetes/repo-infra, and gazelle dependencies
**What this PR does / why we need it**: updates our bazelbuild/rules_go dependency in order to bump everything to go1.9.4. I'm separating this effort into two separate PRs, since updating rules_go requires a large cleanup, removing an attribute from most build rules.
**Release note**:
```release-note
NONE
```
Kubernetes-commit: 96ec3187180b9c1d722756b3ea0984ebe65424dc
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
Bump rules_go and build "static" binaries in pure Go mode
**What this PR does / why we need it**: uses latest set of enhancements in bazelbuild/rules_go to properly build the "static" Go binaries using pure Go (i.e. `CGO_ENABLED=0`), and to support cross compilation of these binaries. Cross compilation of cgo-enabled binaries is still not supported.
Also depends on https://github.com/kubernetes/repo-infra/pull/52, and requires bazel 0.8+ (which is not yet enabled in CI for kubernetes/kubernetes).
Note that for proper cross compilation we'll also need to remove the hardcoded "linux-amd64" that's strewn about several `BUILD` files.
**Release note**:
```release-note
NONE
```
/hold
/assign @BenTheElder @mikedanese @spxtr
Kubernetes-commit: f5f6f3e715cb8dfbd9657a4229c77ec6a5eab135
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
Move unstructured conversion into pkg/runtime
Scheme conversion should support unstructured conversion natively to
allow going from unstructured to typed and back. It is not a higher
level responsibility to do that conversion because the scheme is the
only one who knows what types it supports.
@liggitt @kubernetes/sig-cli-api-reviews I am going to make Scheme support unstructured in ConvertToVersion and Convert, which means resource.Builder and the CLI can get simpler for all existing use cases where versioned and unstructured need to coexist.
Kubernetes-commit: a67abac7654cc3e05618d41191d71730cf9565ac