Improved string representation of array values in jmx connector

Arrays were being rendered using the default toString representation.
So, an Array would be rendered as something like [Ljava.lang.String;@4da91ced.
Arrays are now rendered as a string representation of the contents of the array.
The string representation consists of a list of the array's elements,
enclosed in square brackets ("[]").  Adjacent elements are separated by ", ".

Fixes #1632
Improve error message when using DISTINCT with non-comparable types
Validate types for IN subquery expression
Throw proper exception when memory size exceeded in TopN
Verify that types of ORDER BY expressions are orderable
Fix handling of SampleNode in SymbolExtractor
Add array constructor syntax to migration guide
Add developer guide to documentation

Currently, this includes documentation for types, scalar functions, and
aggregation functions