PerfMonComps: Updates to PerfMonMTSvc
This MR updates PerfMonMTSvc after @haozturk's latest developments, most notable changes are:
- Restructured things a bit, broke down the event level monitoring into two as component-level and non-component-level
- Added a few new configurable properties to control JSON writing, its output file name etc.
- Added an estimate for the wall-time spent in the job configuration stage
- Added estimates for per event memory leaks using both the vmem and the pss
- Cleaned-up a few parts of the code and ran it through clang-format
Due to the last point, there seems to be a lot of diffs but these are mostly style related changes.
cc: @haozturk