Allow go_binary to override go_library x_defs (#4562)

**What type of PR is this?**

Bug fix

**What does this PR do? Why is it needed?**

Fixes #4561

**Other notes for review**

x_defs from dependencies were incorrectly applied after the source's
x_defs, causing library values to overwrite binary values. Reverse the
order so that source x_defs are applied last. This behavior matches the
documentation which states:


https://github.com/bazel-contrib/rules_go/blob/master/docs/go/core/defines_and_stamping.md

  > You can also override stamp values from libraries using x_defs on
  > the go_binary rule if needed.
5 files changed