ENH: make cuttingPlane cell walker an algorithm
- takes two general actions: 1. orient edge in canonical direction (positive gradient) and detect any edge intersection. 2. edge intersection alpha (0-1) - refactor into a cuttingSurfaceBase intermediate class with the actions as templated parameters rather than function pointers. This allows the use of lambda functions with captures from the caller.
src/sampling/surface/cutting/cuttingPlaneWalk.C → src/sampling/surface/cutting/cuttingSurfaceBaseTemplates.C