[PJRT] Defer default device selection until we need to know the runtime (#4630)
* Defer default device selection until we need to know the runtime
* formatting
* More formatting
* Reimplement in python
* Revert C++ changes
* Use xenv variable
* Add to configuration.yaml
* add xla_dist test case
* formatting