Allow DataLoaderAdapter subclasses to be pickled by implementing `__reduce__` (#3074)
* initial fix for breaking accelerator pickling
* cleanup
* skip_first_batches should be used on raw dls
* multigpu sanity test
* bugs
* does this work with iterable dsets?
* fix typo
* ignore these commits, i'm just syncing the origin so i can test on my cloud workstation
* comment out failing tests, unsure if those are existing bugs or a recent regression
* torch 2.4.0?
* pickling generator issues
* test_pickle_accelerator
* test_pickle_accelerator should work now)
* base.__len__() -> len(base)
* undo reduce
* undo super().__reduce__() again
* pass args through superclass
* remove prints
* doc changes + make style && make quality