Merge pull request #1854 from RosettaCommons/aleaverfay/fix_overfrequent_validation
Aleaverfay/fix overfrequent validation
This PR seeks the same goal as PR #1845 (which I inadvertently corrupted): spend less time validating XML files. The way it achieves it is by generating the text contents of the schema only once (which previously took ~half the time) and generating the data structure that can validate an XML file from this schema so that it can be reused (which took ~half the time). The time spent actually validating the XML file once those two steps completed was miniscule.
It still includes Vikram's code for validating a single script only a single time by keeping track of which scripts it has encountered in the past by file name. (This will need to be changed for the JD3 version of RosettaScripts, when it comes eventually comes online, where different jobs may use different script variables (script vars) for the same input XML file.)
This produces expected cosmetic integration test changes in all of the integration tests that rely on rosetta_scripts.