Add the evaluation method to the interface and abstract implementations of factors
Extract comparator & entry interface from the BestKValues utility
Merge remote-tracking branch 'toni/eval' into eval