Merge pull request #5769 from RosettaCommons/vmullig/generalize_virtual_residue
Generalize the virtual residue patch.
Currently, the protein virtual residue patch is special-cased for each amino acid type, and doesn't support terminal types. This is silly. We have a `VIRTUALIZE_ALL` `PatchOperation` (which is used for RNA); we might as well use it for everything.
Tasks:
- [x] Switch patch to use `VIRTUALIZE_ALL`.
- [x] Rename patch from `VirtualProteinResidue` to `VirtualResidue`.
- [x] Ensure the `VIRTUALIZE_ALL` `PatchOperation` also zeros the net formal charge.
- [x] Unit test to confirm that this lets us virtualize all residues in a pose.