A Complementary Pivot Algorithm for Market Equilibrium under Separable, Piecewise-Linear Concave Utilities