Line source: add multiple ways of generating sample points
Currently line source only supports sampling with equal spacing between sample points along the line. Add support for other modes including: geometric distribution, hyperbolic tangent distribution (one-sided and two-sided), a gaussian distribution.