Add a `parallel_mode` property to TrainingArguments
# What does this PR do?

This PR adds a `distributed_env` property to the `TrainingArugments` making it clear if we are in:
- a single process (CPU or one GPU)
- a parallel setting (one process but several GPUs)
- a distributed parallel setting (several processes, one per GPU)
- a TPU setting

Fixes #8858

Given our discussion yesterday, I'm not sure `distributed_env` is fitting. As you convinced me that DP is not distributed when it comes to pytorch conventions, `if self.distributed_env == "dp"` is back to being confusing.

Given that with the exception of tpu, all dp/ddp/mp/pp are SomethingParallel, should it be called `parallel_mode`?

I don't know anything about tpu, so it's hard for me to know where it fits. But it's probably not distributed either. And not parallel either.

So perhaps we call it `compute_env`<|||||>LGTM, @sgugger!
