Remove old bytecode compiler
Remove specialized bindCast from BootstrapFunctionBinder
Remove specialized bindFunction from BootstrapFunctionBinder
Don't constant-fold casts for types that can't be encoded in SQL AST
Add Regexp type

Also, remove RegexpFunctionBinder and update all regexp-related method to take a Pattern instead.
Add LikePattern type
Add JsonPath type
Remove FunctionBinder abstraction
Add constant-folding optimizer for RowExpression
Remove bindConstantArguments

This is actually not needed since the compiler will now emit the right
invokeDynamic to load the constant before invoking the function.
Remove bindOperator from BootstrapFunctionBinder

This gets us closer to treating functions and operators uniformly.
Record invokeDynamic bindings in the target class

The bootstrap method now uses the caller information to get to the callsite map.
This has a few benefits:
* No need to generate a classloader-isolated Bootstrap for every compilation to
  avoid memory leaks. The callsite map is associated with the target class. When
  the class goes away, so does the map
* Better encapsulation: the lookup of the bootstrap method can now be done statically
  on the Bootstrap class initializer
* BootstrapFunctionBinder and callsite map no longer need to be concurrent. They are
  accessed by a single thread (the compiler) and the target class gets an immutable copy
  of the callsite map.
* The model is now somewhat simpler and easier to reason about.
Remove "is approximate" from signature

This doens't belong in the Signature object. It should be in FunctionInfo, instead
Add convenience constructor to Signature for non-internal functions
Cleanup FunctionBinding, BootstrapFunctionBinder and uses

* Remove some duplicated code for emitting function call bytecodes
* Rename BootstrapFunctionBinder to CallSiteBinder
* Factor out binding+calling logic into a convenience method in ByteCodeGeneratorContext
* Move logic to insert ConnectorSession bytecode to the method that generates the invocation
Move CallSite creation to Bootstrap

Bindings map only needs to contain MethodHandles
Remove special treatment of sample weight symbol

Limit and top N shouldn't treat this symbol specially, since we no
longer support using it as a run length encoding symbol
Remove support for DISTINCT in APPROXIMATE queries
Remove sample materialization operator