Want to make holdout work for more reductions

want to make holdout validation and early_terminate work for other single example reductions. Updated pull request description is in John's repo.