Merge pull request #2416 from RosettaCommons/vmullig/threadsafe_scoringmanager
Caught a problem in the FoldTree class that was impeding thread-safety
The FoldTree class creates some global data (grr). When multiple threads were working with different instances of FoldTrees, these global data were getting messed up. Adding `thread_local` resolves this -- though I think it might be better not to make these data global at all. As far as I can tell, there's no reason to be using the `static` keyword here, except to avoid a tiny bit of deallocating and allocating (which this probably doesn't avoid all that well, when working with multiple FoldTrees simultaneously). It would be better to make this a private member variable of the FoldTree class (one per instance).
DONE:
- [x] Fix general integration test failures.
- [x] Check unit tests in cxx11thread/serialization build.
- [x] Check integration tests in cxx11thread/serialization build.
- [x] Check scoring tests in cxx11thread/serialization build.
- FACTS test fails, as expected. (The FACTS global data cache pose-specific information, and are not threadsafe). All other tests pass.
- [x] Beauty.