Support IterableDatasets for validation and test, not just train set [blocked by #953]
🚀 Feature
Currently Lightning supports IterableDatasets only in the training set (see code). This makes them second-class citizens compared to the map-style datasets, and supporting them seems a low hanging fruit.
Motivation
This enables having larger test sets that may not fit into a machine's memory (they could be very large in production settings, or of modest size running in a student's cheap laptop). Moreover,
datasets are usually generated together (eg train, val, test can come from the same process). It is very likely that the same process has the same signature, so you may end up having IterableDatasets even when their size may not deem it strictly necessary.
Pitch

Changing a few lines of code by bringing in the checks we are doing for training should be enough unless I'm missing something.
Additional context

Are there any gotchas that make this harder than it looks?