adding ps_strategy to run_config to enable different placement strate… (#15640)
* adding ps_strategy to run_config to enable different placement strategy in estimator
* 1. Moved estimator._device_fn to RunConfig as @property
2. Made RunConfig.device_fn to return custom device function if one is specified, otherwise the result from `tf.train.replica_device_setter` call is used
3. Added some basic unit tests, may need further tests.
* 1. Removing ps_strategy.
2. Modified estimator to take overriden device_fn from if set.
3. Removed ps_strategy related unit tests.
* Adding manual initialization of _device_fn in legacy RunConfig class
* Updated estimator golden API through
1. bazel build //tensorflow/tools/api/tests:api_compatibility_test
2. bazel-bin/tensorflow/tools/api/tests/api_compatibility_test --update_goldens True
* fixing code styles