Updated distribution classes to provide methods for sampling that can avoid memory creation or boxing in some cases. In particular, univariate smooth distributions now have a sampleAsDouble methods to get an unboxed double sample.
Added missing generics.