Implement pipe(...fns) and compose(...fns) that chain unary functions
together.
pipe(f, g, h)(x) applies left-to-right: h(g(f(x)))compose(f, g, h)(x) applies right-to-left: f(g(h(x)))solve(value, fns, mode) returns the result of piping or composing a list
of math functions over value. mode is 'pipe' or 'compose'.
Sample tests