scalding-core: merge flow step strategies to allow reducer estimation combined with other strategies

Reducer estimation works fine by itself, but if your job defines a custom flow step strategy that does something else, the reducer estimator strategy gets overwritten.  This PR does not modify any public APIs but simply runs strategies in sequence if one is present from the ExecutionContext.
does type param A do anything useful here? Or would just using [_] throughout make sense?

if this code never pulls an A out of any of these objects / methods (it only calls a apply which returns Unit right?) is it adding any safety?