ESM openfold_utils type hints (#20544)
* add type annotations for esm chunk_utils
use isinstance builtin instead of 'type(x) is y'; add assertions to aid in type inferencing; use bools instead of ints in _get_minimal_slice_set for improved type clarity; refactor to avoid re-assigning to the same variable with a different type
* add type annotations for esm data_transforms
refactor to avoid re-assigning to the same variable with a different type
* add type annotations for esm feats utils
refactor to avoid re-assigning to the same variable with a different type
* add type annotations for esm loss utils
* add/fix type annotations for esm rigit_utils
refactor to avoid re-assigning to the same variable with a different type; fix Callable, Tuple type hints; match conditional structure to other methods; fix return type on Rotation.cat and Rotation.unsqueeze
* add type annotations for esm tensor_utils
overload for tree_map; use insinstance builtin instead of 'type(x) is y'; export dict_multimap, flatten_final_dims, permute_final_dims in openfold_utils
* add type annotations for esm protein utils
add FIXME for attempted string mutation; add missing None check in get_pdb_headers; fix potentially unbound variable 'chain_tag' in to_pdb; modify get_pdb_headers return type
* add type annotations for esm residue constants
hints on collection constants; remove magic trailing comma to reduce number of lines; change list -> tuple for rigid_group_atom_positions for improved hinting
* code style fixup
Co-authored-by: Matt <rocketknight1@gmail.com>