Profiler wakes up one thread per core to do counter readings
notify main thread that data is ready for reading. turn on printing of output
Remove outdated ignore file
Main make target is debug, must specifically request release
Each profiling thread monitors its own core's counters
Clean up prints
Speed up sampling rate
merge