Fixed a problem in PiecewiseLinearInterpolation.

If the point to interpolate the value on is not located in any interval we choose either the first or the last interval and extrapolate the data. The algorithm for the determination of the interval is corrected.
Added a version sorting a vector and a second vector according to the first.
Sorting the input according to the support points.
Added a second template parameter to Quicksort.

Removed one of the non-class quicksort version.
Changes due to a second template parameter for Quicksort.
Added tests for PiecewiseLinearInterpolation.
Added switch for sorted data and documented the class.
Added default type std::size_t for the second template parameter.
Removed second template parameter since it is not necessary anymore.
Substituted for-loop deploying std::transform and lambda function.
Merge pull request #88 from TomFischer/PiecewiseLinearInterpolationBugFix

Piecewise linear interpolation bug fix.

Using STL where possible.