Added triangular k-distribution and cleaned up code

- We can now have "Single" (Dirac delta-like), "Uniform" or "Triangle"
distributions of k. Triangle is the most physical.

- This was achieved by writing a wrapper class for the C++11 RNGs so we
can access one of the three distributions via a pointer to an abstract
base class

- Generally improved comments and removed some unused variables