Added some equals() and hashCode() to AST
All type references can have array dimensions

This effectively changes only Void
See #143
Fix array dimensions for type parameters

Fixes #143