Fix issues with the conditional discard workarounds to do with assignments.

The old modifiesState method really checked if an operator was an assignment,
so restored that behaviour and use the new side effects detection only for
the new code.

ANGLEBUG=486
BUG=
R=nicolascapens@chromium.org, zmo@chromium.org

Review URL: https://codereview.appspot.com/22130043
4 files changed