* Use kustomize to make it easier to maintain the versioned KFDef specs.
* For each KF release we need to define a KFDef spec that overrides certain
values (e.g. the repo of kubeflow/manifests it uses)
* Previously we just did this by modifying the KFDef specs on the release
branch. But this was very costly to maintain; i.e. backporting changes
on master to the release branch
* To make that easier we can generate the KFDef YAML files using kustomize;
this allows us to use overlays to define the changes needed to customize
the specs for a particular version
* We can keep these versioned overlays on master so that the divergence between
master and the branches is very low
* To preserve existing behavior we still check in YAML files. a simple
script build_kfdef_specs.py is provided to generate them.
Related to: kubeflow/kubeflow#4685
* Set namespace.
* Update docs.