List per-cpu caches properly

Expand the list of identified caches when the allocated array is filled.
Identify shared caches

For drawing a picture of caches, we need to know which of them are
shared with which.

Initially, let us just build a deduplicated list of existing caches, and
set up some knowledge structure around caches being shared.
make: Remove -pg flag from CFLAGS

We're not profiling at the moment.
Read cache/index<i>/{type,level,shared_cpu_map,size}