Always propagate shardings along the batch dimension in `InferConvolutionShardingFromOperands`.
Always propagate shardings along the batch dimension in `InferConvolutionShardingFromOperands`.

Before this cl, if the kernel is large, we replicate the output, even along the batch dimension. This cl enables the sharding propagation between lhs and output along the batch dimension such that we can support data parallelism.

Add a test case, which fails before this cl and succeeds with this cl.
