Adding functional way of stacking DataPipes (#52507)
Summary:
Allows to use functional API to stack datapipes:
```python
numbers_dp = NumbersDataset(size=10).filter(filter_fn = lambda x: x % 2 == 1).map(fn = lambda x: x * 10)
```
DataPipes have to be decorated with:
```python
functional_datapipe('map')
class MapIterDataPipe(IterDataPipe[T_co]):
```
Pull Request resolved: https://github.com/pytorch/pytorch/pull/52507
Reviewed By: ailzhang
Differential Revision: D26644079
Pulled By: VitalyFedyunin
fbshipit-source-id: dcf464637b4fcf9ea1eb8e84c2a0cd4dfd58b43d