Fix validation on expression
Fix validation on undefined identifier: introduce undefined type, value and undefined identifier node
Improve validation for IfNode
Refactor to remove static access to variables
Merge remote-tracking branch 'origin/master'