Allow internal plugins to register parametric types
Fix output type of learn_regressor() function
Make Classifier a parametric type
Add support for string labels to ML plugin
Add serialization id test for unit normalizer
Fix IntelliJ warnings in MLFunctions
Generalize evaluate_classifier_predictions

It now works with multi-class classifiers and also with string labels
Remove unnecessary synchronization from MLPlugin
Fix IntelliJ warnings in AbstractSvmModel
Fix to add bufferIds for the tasks created during waitForFreeNode

Fixes #2135
Implement HASH_CODE operator for JSON type
Document DATE memory representation change
Fix window functions with no input channels
Add missing calls to declarePosition

Also, validate that blocks have the same number of positions as the
declared positions in the page to catch these issues in the future
Fix PageBuilder.isEmpty()

It was relying on BlockBuilderStatus.isEmpty, which tracks size.
Entry size can be 0 under certain conditions, which causes PageBuilder
to say it's empty when it's not.
Show empty rows for Values in explain
Fail task when local planning fails