Hash-based Fold operator

a physical Fold operator that does not require Sort and GroupBy operators to precede and instead
does the grouping on-the-fly, storing intermediate fold values of each group in a hash map. the
operator thus has to be configured with the keyset it should group by.