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 think this should be implemented as `bool SortedDetection::operator<(const SortedDetection &other) const`.