Added support for tracked types and fixed variable declaration expression.

Support for tracked types has been added (i.e. ^ types, struct^ and delete) and some issues with variable declaration expressions were fixed. Instead of just blindly allowing variable declaration expressions as an expression and allowing it only in specific locations.