Profile summary can be expensive to recompute, so it is better to compute it once during profile write and save the summary in the indexed profile data. This patch adds the support for summary writing and reading.
For older versions of the profile data, the reader is taught to re-synthesize the summary data on the fly. Since profileSummary includes MaxFunctionCount already, existing fields in InstrProfReader and Writer are removed. The MaxFunctionCount computation code is also removed (redundant). The Header still includes MaxFunctionCount field to minimize layout change. This field is deprecated and can be repurposed for something else in the future.