Adds StructInfo to CacheFragInfo to match the LLVM's EfficiencySanitizer
structs.
Uses StructHashMap to keep track of the struct info used by the app.
Adds registerStructInfo/unregisterStructInfo to add/remove struct infos
to/from StructHashMap.
updates test struct-simple.cpp with more C structs.
Would be easier to add fields (up to 4 bytes added) after the u32 and still fit in the same size. (Only valid because we know exactly how ABIs work on the platforms we support).
You can still add stuff using padding bytes with the u32 being where it is, so no big deal there.
Since this sanitizer is much more complicated than something like UBSan (where we pulled off changing the structures emitted once (twice after a revision in process gets accepted)), I don't think we should worry about this too much. OK as it is.