[XLA:GPU] Add constraints to `SymbolicTileAnalysis`.
[XLA:GPU] Add constraints to `SymbolicTileAnalysis`.

Constraints are constructed from merging the constraints of all the
`SymbolicTile`s encountered while constructing the resulting symbolic tiled HLO
computation. If any of the `SymbolicTile`s is unsatisfiable, the construction
of the `SymbolicTileAnalysis` object does not succeed. Likewise, construction
fails if some constraints can not be merged with others.

Constraints are now checked to be satisfied by the provided tile parameters
when attempting to extract a `TiledHloComputation` out of
`SymbolicTileAnalysis`. In order to avoid checking constraints too many times,
we allow pinky-promising that the provided tile parameters satisfy the
constraints, to voluntarily bypass the checks.
