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