Add TensorFlow Shape Inference on XlaGather
Add TensorFlow Shape Inference on XlaGather

Copy shape inference logic from Shape inference of Gather in XLA [1]. This makes grappler to properly infer shapes. The Grappler only relies on TensorFlow shape inference, and it invalidates all previously inferred shapes saved in `_output_shapes` attribute.

[1] https://github.com/openxla/xla/blob/3cce1630d278c56d1c0edf0b898cee3be2e01cbc/xla/service/shape_inference.cc#L3862
