Enhance pyrosetta and pyrosetta.distributed I/O interfaces (#431)
* Fix DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.)
* Update imports
* Update pyrosetta.io and pyrosetta.distributed.io interfaces
* Add unit tests for pyrosetta.io updates
* Add unit tests for pyrosetta.distributed.io updates
* Update pyrosetta.distributed.io interface
* Test PackedPose generators
* Set place for assertAlmostEqual
* Update @unittest.skip message
* Support dump_file and dump_scored_pdb
* Update syntax for Python <3.8 compatibility
* Duplicate import
* Reformat imports for readability
* Define create_score_function, get_fa_scorefxn, and get_score_function helper functions
* Add support for ScorePoseTask and string instances in dump_scored_pdb
* Test different parameter types to io.dump_scored_pdb
* Support ScorePoseTask instantiation in io namespace
* Test ScorePoseTask instantiation
* Add warnings when dumping poses with nonstandard file extensions
* Support .pdb.gz and .pdb.xz file I/O
* Test .pdb.gz and .pdb.xz file I/O
* Update gzip I/O so .pdb.gz files open in PyMOL
* Support bz2, gzip, and xz compression in dump_pdb function
* Support dumping scored PDB files with bz2, gzip, and xz compression
* Support decompression of PDB files for pose_from_pdb and pose_from_file in pyrosetta.io namespace
* Fix pose_from_none
* Move pose_from_pdbstring to pyrosetta.io namespace
* Test io.dump_pdb function
* Update tests to include PDB/CIF/MMTF I/O
* Support getting score functions from pyrosetta.io namespace
* Update filename in unit test
* Skip if xz is not installed
* Parse filename
* Update poses_from_multimodel_pdb with new pose_from_pdbstring function
* Clean up; Redefine pose_from_pdbstring for backward compatibility
* Test args and kwargs with pose_from_pdbstring