Refactor InputSizeReducerEstimator to correctly unroll MultiSourceTaps

Port some Twitter internal changes to reducer estimation back into OSS.

This just refactors how MultiSourceTaps are handled. It improves error reporting so we report unrolled taps that weren't instances of Hfs.