doc/ref: spec changes to comprehensions and identifiers
doc/ref: spec changes to comprehensions and identifiers

This CL has two somewhat proposals, although they can
be split:

1) Make fields with string labels non-referrable and introduce
allowing backtick for identifiers.
So
  a.`for`
would be a valid selector.
This simplifies the spec a bit as there is no explanation needed why interpolated strings cannot be referenced.
Using `` has precedence in BCL and swift.

It solves the issue of code generation, where it can be hard to
track referred values and it allows referencing keywords and other fields alike.

2) Now we have embedding there is a nicer way to write
comprehensions.  The proposed change solves many
issues.

Change-Id: I8ba25bd3a6b9a9d790dcecbd3b5954a969440396
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/2950
Reviewed-by: Marcel van Lohuizen <a22d082192f3ccf984644a4f482781f4c2d65180@golang.org>

cuelang/cue