compiler: Ignore result context in constant expressions.
When evaluating a constant expression, the gofrontend would incorrectly
force each operand to be represented as the resulting type before
checking if the operation was valid with the untyped constants.
According to the language specification on constant
expressions(http://golang.org/ref/spec#Constant_expressions): "Untyped
boolean, numeric, and string constants may be used as operands wherever
it is legal to use an operand of boolean, numeric, or string type,
respectively."
Fixes golang/go#11566.
Reviewed-on: https://go-review.googlesource.com/12716
From-SVN: r227758