Add magic method to our TF models to convert datasets with column inference
Left to do:

- [x] Add docstring
- [x] Figure out what type to set for `dataset` (since `datasets` isn't imported)
- [x] Set default values for `batch_size` / `shuffle`?
- [x] Do we need to document this anywhere besides the docstring?
- [x] Anything else I forgot? (Reviewers please yell at me)
_The documentation is not available anymore as the PR was closed or merged._<|||||>Hey all, this is the method in `transformers` that I moved all the column inference code to! I also need some advice:

- How do we handle an input type of `Dataset` when `datasets` may not be installed?
- Should this be moved to a utility function that takes `model` as an argument rather than a method on `TFPreTrainedModel`?
- Should I set default values for any arguments to reduce the amount of typing users have to do?
- How should I make sure users find out about this (besides revamping the examples and notebooks once it's merged)?<|||||>> Should this be moved to a utility function that takes model as an argument rather than a method on TFPreTrainedModel?

All our models inherit from `TFPreTrainedModel`, so it should be fine

> Should I set default values for any arguments to reduce the amount of typing users have to do?

I'd keep the same defaults as in `datasets`, for a consistent experience. But I'm not the most experienced in this domain :D

> How should I make sure users find out about this (besides revamping the examples and notebooks once it's merged)?

We are getting to the point where we have a lot of content to announce (these changes, the metrics working correctly, generate and its updates, new models, ...), maybe we can start a once-a-week TF communication of some sort! <|||||>Quick update: I think this is ready to merge, but I've only really tested it with the updated `to_tf_dataset()` method in datasets, which hasn't been merged yet (but is due very soon!). As such, I don't want to merge it until that's in, because there could be edge case issues with the old method that I haven't seen.<|||||>I've merged the `to_tf_dataset` update so I'm going to merge this one too - though I think it will be a silent 'soft launch' until there's a new release of `datasets`, to avoid any unforeseen problems. Since this code only adds the new method, it shouldn't disrupt any existing workflows before it's ready to be used.