Add support for variable arity functions
Add support for parametric types
Add ARRAY type

* Add ARRAY as a parametric type
* Add subscript operator as a parametric function that operates on any ARRAY type
* Add new syntax for ARRAY constructor (i.e. ARRAY[1,2,3])
Implement CARDINALITY
Add CONTAINS function for arrays
Add map type

* Add subscript operator for maps
* Add map as a new parametric type
Add documentation and release notes for arrays and maps
Add tests for Signature
Make TypeParameter a top-level class
Refactor specialize to take bound type parameters
Rename IdentityCastParametricFunction to IdentityCast