Merge pull request #592 from RosettaCommons/rhiju/placeholder_residue_type_for_reduced_footprint
This pull request introduces 'placeholder' ResidueTypes. It supports a more general refactoring of ResidueTypeSet that only instantiates full-fledged ResidueTypes when they are needed, for speed and reduced memory footprint. The more general effort is happening at https://github.com/RosettaCommons/main/pull/591 and the biggest speed increase will happen with changes in how ResidueTypeSet is accessed through the code (particularly in pose_from_pdb and pose_from_sequence).
This commit set already produces a modest speed increase in applications like extract_pdbs which don't need to instantiate all residue types with all patches to do their jobs.
All integration test changes are OK -- a few are due to change in ordering of when ResidueTypes are finalized, and their number.
Note that the option of creating these placeholders is on ("-chemical:on_the_fly" is default true), since all tests are OK at the moment, and I want to ensure that others find any issues with ASAP.