Set `reshuffle_each_iteration` in `Dataset.shuffle()` directly to `True` to avoid confusion
I think I might keep the 3rd task to a separate PR, as I'm still working on a proper way to track if dataset has undergone shuffle(reshuffle_each_iteration=True) before `take` and `skip`. And this PR would not change any behaviour as far as I know. Can you please review? @aaudiber @gbaned   Test is failing because we need to update the golden files with the API change: 

https://github.com/tensorflow/tensorflow/blob/fb15a8cad275744f901388f48d2a3ffc56a03224/tensorflow/tools/api/golden/v1/tensorflow.data.-dataset.pbtxt#L190-L193
https://github.com/tensorflow/tensorflow/blob/fb15a8cad275744f901388f48d2a3ffc56a03224/tensorflow/tools/api/golden/v2/tensorflow.data.-dataset.pbtxt#L157-L160

Please updates the `None`s to `True` there as well Thanks for reviewing and the comments @aaudiber . I'm not quite aware of the API and thanks for the input! Hi @aaudiber. Thanks for reviewing. Also I noticed some tests are failing (ROCm/MacOS CPU and such) though they don't have a `Required` tag. Should I be concerned? This PR has been approved and taged `ready to pull` for over a month now. Is there anything I should do? Thanks! @gbaned @aaudiber 
## Summary

Set the default `reshuffle_each_iteration` value in `tf.data.Dataset.shuffle` method to `True` directly (previous was `None` but was interpreted to `True`) to raise awareness of possible silent data leakage, see discussion #59279.

## Details (copied and cleaned up from #59279)

The `Dataset.shuffle` method might lead to **dangerously silent** data leakage:

In the [Dataset doc](https://www.tensorflow.org/api_docs/python/tf/data/Dataset) under the `shuffle` method, it reads:

> shuffle(
>     buffer_size, seed=None, reshuffle_each_iteration=None, name=None
> )

where the `reshuffle_each_iteration=None` is **super misleading**, as it be easily misinterpreted that reshuffled is off by default (**which is not true at all**).

The `shuffle` method, which called `shuffle_op._shuffle`:
https://github.com/tensorflow/tensorflow/blob/4dacf3f368eb7965e9b5c3bbdd5193986081c3b2/tensorflow/python/data/ops/dataset_ops.py#L1472-L1473
  
which then called `_ShuffleDataset`:
  https://github.com/tensorflow/tensorflow/blob/b756c44e3f3ed52ccb4f05736569b95f4481eea0/tensorflow/python/data/ops/shuffle_op.py#L25-L32
  
which finally inititate the `_ShuffleDataset` class:
https://github.com/tensorflow/tensorflow/blob/b756c44e3f3ed52ccb4f05736569b95f4481eea0/tensorflow/python/data/ops/shuffle_op.py#L35-L50

has the following dangerous definition:
```
if reshuffle_each_iteration is None:
      reshuffle_each_iteration = True
```

As a result, the default `reshuffle_each_iteration = None` would be interpreted to `reshuffle_each_iteration = True` (which is truly unexpected by user).

## TODO list:
- [X] Set the default value of `reshuffle_each_iteration` directly to `True`
- [x] Add warning in docs about possible data leakage related to `reshuffle_each_iteration = True`
~~Issue warning when training/validation datasets are split by using the `shuffle + take/skip` pattern~~ (scheduled for a separate follow-up PR)

