FirmConstructor: Evaluate exprResultToValue calls first

* Fixes ReturnStatement generation (run/BooleanExpr.mj; getCurrentMem was called in a different block than newReturn).
* Optimizes Assignment and NewArray generation (potentially reduces unnecessary phis)
Merge pull request #209 from Kha/fix-ret

FirmConstructor: Evaluate exprResultToValue calls first
CSE