Merge pull request #5466 from RosettaCommons/roccomoretti/include_fixes_IWYU
Remove unneeded headers with Include What You Use.
This doesn't use IWYU directly, due to differences in how it thinks things should be versus how Rosetta handles things, but instead uses a script to use the IWYU results to try removals/additions with test compilation. (With the general philosophy of removing as much as possible and being judicious about which additional headers are added.) -- This approach needs some manual fixes, particularly for extras/platforms where the test compilation isn't run.
These header removals speed up compilation on my machine by ~15%.
Note that I likely missed some of the rare platform/extra combinations, particularly ones which aren't tests on the test server. Hopefully fixing those won't be too much effort for the people who use them.