In this clean up patch,
- key constant values (version, magic) and data structures related to raw and indexed profile format are moved into one centralized place: InstrProf.h.
- Utility function such as MD5Hash computation is also moved to the common header to allow sharing by other components in the future
- A header data structure is introduced for Indexed format so that the reader and writer can always be in sync
- Added some comments to document different places where multiple definition of the data structure must be kept in sync (reader/writer, runtime, lowering etc).
No functional change is intended.