compiler: fix infinite recursion in string constant evaluation.
compiler: fix infinite recursion in string constant evaluation.

Fixes compilation of incorrect code:
    const f, g = g, f
    func S() []byte { return []byte(f) }

The problem was already handled for numerical constants.

Part of issue 3186 (go).

R=gofrontend-dev, iant
CC=gofrontend-dev, remy
https://golang.org/cl/5972048

anlhord/gofrontend,qskycolor/gofrontend,anlhord/gofrontend,anlhord/gofrontend,qskycolor/gofrontend,qskycolor/gofrontend,golang/gofrontend,qskycolor/gofrontend,golang/gofrontend,qskycolor/gofrontend,anlhord/gofrontend,qskycolor/gofrontend,anlhord/gofrontend,golang/gofrontend,golang/gofrontend,qskycolor/gofrontend,anlhord/gofrontend,anlhord/gofrontend