Tidy up returns from `ddp_train()` of accelerators
🐛 Bug
There are currently inconsistent returns from the method ddp_train of accelerator classes.
For example, the method ddp_train of DDP2Accelerator returns results while ddp_train of DDPSpawnAccelerator returns None. Although I am not familiar with distributed training, it seems that both of the methods should return results (or both should return None)  for consistency.

  
    
      pytorch-lightning/pytorch_lightning/accelerators/ddp_spawn_accelerator.py
    
    
         Line 76
      in
      eddf35a
    
  
  
    

        
          
           def ddp_train(self, process_idx, mp_queue, model, is_master=False, proc_offset=0): 
        
    
  



  
    
      pytorch-lightning/pytorch_lightning/accelerators/ddp2_accelerator.py
    
    
         Line 120
      in
      f37444f
    
  
  
    

        
          
           def ddp_train(self, process_idx, mp_queue, model): 
        
    
  


Expected returns
All methods whose names are the same (i.e. ddp_train()) should return the same type of object (e.g. results).
Additional context
This inconsistency was found while handling #4232.