Initial commit for distribution package. Contains Exponential, Laplace, ...

...Normal, and Uniform
I haven't really been following this discussion, so excuse my ignorance.

>In my mind, the parameters for specific distributions isn't something you can generalize behind an interface.

I think this is true. There are aspects which are generalisable, but it is not possible to use the parameter values without labels, and to have labels you need to know types. So we are at a position where you need to type switch on the distribution type anyway, you may as well just have a Parameters method that returns a different concrete type for each, with appropriately labelled fields.

This solves the allocation problem too, since the return will be on the stack.