Updates to eval_detection

Two major updates-

1) An ignore flag that prevents a detection from being counted as a true or false detection. This was recommended in the headhunter paper.

2) Refactoring of associateGroundTruthDetections. Instead of looking for the best overlap for each true detection individually, all possible true detection-predicted detection pairs are considered and the ones with the highest overlap are associated first.
I use the indices in SortedDetection to store which ground truth and predicted detections are being referenced. I could store the entire Detection object instead but I think it makes unnecessary copies of the whole struct.