Swapping raw pointers to boost shared pointers

And general refactoring.

Refs #5591
Tidying up with typedefs to CubicSpline.

Refs #5591
Refactoring, updating documentation, updating unit tests

Refs #5591
Merge branch 'feature/5591_cubic_spline_algorithms' into develop