Add current_timezone() function
Improve heuristic for creating symbols from name hints
Rename getOutputMap to getAssignments in project node
Compute output symbols eagerly

The list was being build on-demand every time getOutputSymbols was called, making
analysis/planning of queries with thousands of columns expensive
Optimize planning for queries with many columns

The code had a number of O(N^2) algorithms, which is ok for queries referencing
a few hundred columns but quickly breaks down for thousands of columns
Precompute the field indexes to avoid O(N) lookup

This helps when analyzing queries with thousands of fields
Add support for literal parameters in type signatures
Support parametric types with literal parameters
Refactor AbstractType constructor to take TypeSignature
Change ModelType to extend AbstractVariableWidthType
Allow types to customize the name displayed in DESCRIBE
Remove partial support for Hive UNION type
Implement ROW type
Change Hive structs to be ROWs instead of VARCHARs
Add support for variadic type parameters
Add ROW to JSON cast
Add tests for ROW type
Implement row field accessors
Add type signature as a JSON object to StatementResource response
Change internal serialization of TypeSignature back to a string