[ddp] New ddp implementation doesn't work in notebooks / using scripts
The using .spawn() to spin off subprocesses ddp in had a few problems:

Everything needs to be picklable.
It doesn’t work well with num_workers on dataloaders because of spawn
fit(model) trains the model in a subprocess, so the original model is not updated.
Those are not limitations of lightning, but of pytorch and python.

As a result, we removed .spawn and instead call the script under the hood.
This approach solves all problems above, but it assumes you can call your model like
python train.py ... and does not support other ways of calling the script.
We should decide how to support DDP on Jupyter notebooks.