query.go
func All(subject Enumerable, p Predicate) bool {
	done := make(chan struct{})
	defer close(done)

	return subject.Enumerate(done).All(p)
}
func All(subject Enumerable, p Predicate) bool {
	done := make(chan struct{})
	defer close(done)

	return subject.Enumerate(done).All(p)
}
// All tests whether or not all items present in an Enumerable meet a criteria.