Remove Data.Predicate.{def,opt}

Instead make `ifAbsent` the new `def` and `optional` the new `opt`. The
old definitions can easily be expressed using existing functionality
(e.g. `def a p = p .|. constant a`).