compiler: Report errors after evaluating invalid constant.
The fix for golang/go#11541 made the assertion that getting an invalid
Numeric_constant after evaluating an invalid constant must result in
an error in a binary expression. However, a Numeric_constant can be
invalid if it is unset, which occurs when either operand cannot be
converted to the right type. These errors are issued after the
Numeric_constant is lowered.
Fixes golang/go#12615.
Reviewed-on: https://go-review.googlesource.com/14646
From-SVN: r229098