Stop Foldable#exists once it has been found

Also avoid calling partial function isDefinedAt and apply, by using
a single lifted version ([these are optimised in the common
case](https://github.com/scala/scala/blob/master/src/library/scala/PartialFunction.scala#L103)).