Automatic merge from submit-queue.
release-1.7: Update boilerplate for 2018
**What this PR does / why we need it**:
This is an attempted carry of @nikhita's PR, #57796.
This is acts a cherry pick of #57735.
**Note**: This is not an automated cherry-pick since lots of things have changed since 1.7 and a cherry-pick leads to lots of conflicts in the generated files.
This also unblocks further client-go 4.0 releases. (see #57245)
**Release note**:
```release-note
NONE
```
Kubernetes-commit: 7d64fdfca8c5bdc8e76ed7f3f037e20711758672
Automatic merge from submit-queue.
Use v0.0.0 gitVersion on branches in support of new .gitattributes solution.
Update bad link as well.
Prefer master branch untyped values.
ref #55353.
Kubernetes-commit: 7b3a0f1caf1e3a56c8504ee78c9cc7dca5072390
Automatic merge from submit-queue.
Automated cherry pick of #56415
Cherry pick of #56415 on release-1.7.
#56415: Include ServerName in tls transport cache key
Kubernetes-commit: 304233a0bba4a00fd42bfc4a6b030c30b40b6ffa
Automatic merge from submit-queue.
Automated cherry pick of #55353
Cherry pick of #55353 on release-1.7.
#55353: Capture git export-subst strings in version.sh for 'git
Kubernetes-commit: fd4d97d2fb5feb1642db7600d81aea90aee55c03
Automatic merge from submit-queue.
Ensure network policy conversion round trips nil from fields
Fixes#53906 (inability to apply network policies against v1 in 1.7)
* Changes non-mutation check to API equality (which treats nil and [] slices identically)
* Fixed bug in manual conversion that took an input of `nil` and produced an output of `[]`
```release-note
Restores the ability to apply network policy objects against the networking.k8s.io/v1 API
```
Kubernetes-commit: 153119474bdb8875e2d4773df156cf6374fd29c4
Automatic merge from submit-queue.
Automated cherry pick of #54257
#Cherry pick of #54257 on release-1.7.
#54257: Use GetByKey() in typeLister_NonNamespacedGet
**Release note**:
```
Optimize excessive memory allocation in resource listers on GET requests
```
Kubernetes-commit: 6086f57d35055172d9b3a2e53b846ef5847887a7
Automatic merge from submit-queue.
Automated cherry pick of #52710 upstream release 1.7
This is necessary to consistently publish the release-1.7 branch of the staging/ repos, compare https://github.com/kubernetes/kubernetes/pull/52710.
Kubernetes-commit: 5314e9bafc2a2ed0cb8de2bebe1b5e84b6b3c9ff
Automatic merge from submit-queue.
Automated cherry pick of #53239
Cherry pick of #53239 on release-1.7.
#53239: Correct APIGroup for RoleBindingBuilder Subjects
Kubernetes-commit: 1a4c2bfb8e06eb64c8c3e05657a25fb3a6e6789b
Automatic merge from submit-queue.
Automated cherry pick of #50012
Cherry pick of #50012 on release-1.7.
#50012: use specified discovery information if possible
```release-note
custom resources that use unconventional pluralization now work properly with kubectl
```
Kubernetes-commit: dd388c7e9bb7e85257424761541e57a297d89de9
This change corrects RoleBindingBuilder to use the RBAC API group
with users and groups as subjects (service accounts use the empty
string since they are in the legacy core group). This is based on
the defaulting in pkg/apis/rbac/v1/defaults.go#SetDefaults_Subject.
This is required because the bootstrap RBAC data is built with these
helpers and does not go through defaulting, whereas the data
retrieved from the server has already gone through defaulting. This
can lead to the reconciliation code incorrectly adding duplicate
subjects because it believes that they are missing (since the API
groups do not match).
Signed-off-by: Monis Khan <mkhan@redhat.com>
Kubernetes-commit: 974991b1800fcc7136e28584c729f867582f0752
Automatic merge from submit-queue
Automated cherry pick of #50163
Cherry pick of #50163 on release-1.7.
fixes#50121#50163: Change SizeLimit to a pointer
```release-note
The alpha `emptyDir.sizeLimit` field is now correctly omitted from API requests and responses when unset.
```
Kubernetes-commit: 7afd0621fd72b95d307c0a392fdd2f459d5c2844
Automatic merge from submit-queue
Automated cherry pick of #49495 upstream release 1.7
Cherry pick of #49495 on release-1.7.
#49495: make it possible to allow discovery errors for controllers
Kubernetes-commit: 423592b27133c7d7e23eafdd1517d0167b53d500