Compute greatest convex majorants and least concave minorants using the pool
adjacent violators algorithm.

The pool adjacent violators algorithm (PAVA) is an iterative algorithm for
solving monotonic regression problems. In particular, (antitonic) regression is
the computation of a non-decreasing (non-increasing) sequence of values such
that a given problem is optimized. PAVA can also be used to compute the greatest
convex minorant and the least concave majorant of a given set of observables.

At the moment, greatest convex majorants and least concave minorants can be
computed efficiently. More general isotonic regression is not yet supported, but
may be in future releases.