Many changes - see comments. Will do more of this tonight.

Added up/down cast/check checking
ArrayAssignExpr
Did the binary expression visitor methods in TypeCheckVisitor
Added receptive helper methods