Change Random implementation to JKISS which is faster and has a longer period. Also match .NET 2.0 behaviour wrt calls to protected Sample. Add unit tests (and removed the commented ones). Ref: http://www0.cs.ucl.ac.uk/staff/d.jones/GoodPracticeRNG.pdf