[AutoDiff][TF] Derivatives for reshaping methods (#23355)
* [AutoDiff][TF] Add derivative for `squeezingShape`. Fix derivative chaining for `reshaped` and `expandingShape`. Make convenience methods `flattened` and `rankLifted` differentiable. Fixes TF-367.
* Reverted _vjpReshaped and _vjpExpandingShape; added Tensor.squeezingShape(at:[Int32]) method; updated tests to use pullback instead of gradient
* Fixed bug when index is in the middle of the dimensions
* Reduce memory footprint and style changes