semantic analysis of unary expressions
removing explicit lval pointer from expressions
cleaning up expression code
First attempt to extract and encapsulate type info. Moved inferring of
type info to the semantic analysis visitor. Fixed unary dereference
operations - type info was missing previously.