Add SystemToolsStatic class to group SystemTools's static variables
This adds a new private class SystemToolsStatic that incorporates all static variables of SystemTools.
There are two motivations for doing this:
- It feels cleaner and safer, since there's only
new/deletepair and types become private. - It's a step towards making the
SystemToolsfile system methods thread safe by adding astd::mutextoSystemToolsStatic.