Online reuse distance analysis

This patch duplicates part of the code from macpo-analyze to calculate reuse
distance metrics for each thread's data structures of relevance. These metrics
are to be combined with the results of stride and alignment values to recommend
pragmas for non-temporal stores, if it makes sense for the user's code.