Precompute and store the hash for operators that use GroupByHash or have hash partitioned output

I'm confused by this.  Wouldn't this use the `hashChannels` field?  Also, I'd set the `hashTypes` in the constructor