* [Enhancement] Provide MultiProcessTestCase to test distributed related modules
* remove debugging info
* add timeout property
* [Enhancement] Refactor the unit tests of dist module with MultiProcessTestCase
* minor refinement
* minor fix
* [Feature] Add distributed module
* fix IS_DIST error
* all_reduce_dict does operations in-place
* support 'mean' operation
* provide local group process
* add tmpdir argument for collect_results
* add unit tests
* refactor unit tests
* simplify steps to create multiple processes
* minor fix
* describe the different of *gather* in mmengine and pytorch
* minor fix
* add unit tests for nccl
* test nccl backend in multiple gpu
* add get_default_group function to handle different torch versions
* minor fix
* [Feature] Add distributed module
* fix IS_DIST error
* all_reduce_dict does operations in-place
* support 'mean' operation
* provide local group process
* add tmpdir argument for collect_results
* add unit tests
* refactor unit tests
* simplify steps to create multiple processes
* minor fix
* describe the different of *gather* in mmengine and pytorch
* minor fix
* add unit tests for nccl
* test nccl backend in multiple gpu
* add get_default_group function to handle different torch versions
* minor fix
* minor fix
* handle torch1.5
* handle torch1.5
* minor fix
* fix typo
* refactor unit tests
* nccl does not support gather and gather_object
* fix gather
* fix collect_results_cpu
* fix collect_results and refactor unit tests
* fix collect_results unit tests
* handle torch.cat in torch1.5
* refine docstring
* refine docstring
* fix comments
* fix comments