[XLA] Do not fail at check when entry computation has a single tuple parameter and allow_spmd_sharding_propagation_to_parameters contains as many elements as tuple size.
[XLA] Do not fail at check when entry computation has a single tuple parameter and allow_spmd_sharding_propagation_to_parameters contains as many elements as tuple size.

This CL also fixes the bug where sharding propagation used to propagate to **all** elements of a tuple parameter when only some were allowed to. We detect this case with:
- Module's entry parameter has a single parameter and that parameter has a tuple shape.
- The size of allow_spmd_sharding_propagation_to_parameters_vector_ is equal to the number of elements in the tuple.
