Moved evaluation functions to a separate library, and got NDCG (linear) calculations working again with DataFrame objects.