Changed identifiers to syntax node.

Changed all identifiers to syntax node to improve error messages on names. The error messages now actually point to the name instead of the enclosing syntax.

Bug: #1
Don't lower compound assignments in the binder.

Removed lowering compound assignments in the binder; this introduces side effects. Instead, introduced a new BoundCompoundAssignment.

Bug: #9
Don't fail on unresolved field symbol too early.

Introduced BoundDynamicFieldAccess when a field cannot be resolved in the binder. After type inference, the dynamic field invocation must be resolved on the resolved types.

Bug: #11
Introduced as keyword.

Introduced as keyword, fixed parsing and introduced BoundIs/AsExpression.

Bug: #14
Introduced syntax for calling base constructor.

Added a BoundBaseInvocationExpression to call the base constructor.

Bug: #13