Manually desugar mixins in `k.libsonnet` for autocomplete
Manually desugar mixins in `k.libsonnet` for autocomplete

Currently our analyzer is not smart enough to be able to analyze many
complex nested mixin fields, at least not in a time-efficient manner.
For example, in `k.libsonnet`, we do something like:

  apps:: apps + {
    v1+:: {

So in order for a user to get autocomplete options for `apps.v1`, we'd
need to walk up the tree to find the `apps + {` expression, merge those
fields, and then merge the fields of `apps.v1` with the mixin `v1+:: {`.

It is clearly possible to do this, but for now, our conclusion is that
it would take a prohibitive amount of time. Thus, we manually desugar
the fields in `k.libsonnet`.

ksonnet/ksonnet-lib,heptio/kube.libsonnet,Bradamant3/kube.libsonnet,ksonnet/ksonnet-lib