add dist_multi_trainer for distributed training, add trainer_factory and device_worker_factory so that we can easily extend new training mode, add pull dense worker which is a singleton for parameter fetching
add dist_multi_trainer for distributed training, add trainer_factory and device_worker_factory so that we can easily extend new training mode, add pull dense worker which is a singleton for parameter fetching

PaddlePaddle/Paddle,luotao1/Paddle,PaddlePaddle/Paddle,tensor-tang/Paddle,PaddlePaddle/Paddle,tensor-tang/Paddle,PaddlePaddle/Paddle,chengduoZH/Paddle,tensor-tang/Paddle,chengduoZH/Paddle,chengduoZH/Paddle,luotao1/Paddle,baidu/Paddle,baidu/Paddle,baidu/Paddle,luotao1/Paddle,chengduoZH/Paddle,baidu/Paddle,baidu/Paddle,PaddlePaddle/Paddle,PaddlePaddle/Paddle,tensor-tang/Paddle,luotao1/Paddle,luotao1/Paddle,PaddlePaddle/Paddle,luotao1/Paddle,luotao1/Paddle,chengduoZH/Paddle,tensor-tang/Paddle