new distribution type system
This implements the proposal by Simon in #119. Through typealias, I retain all existing types, such as UnivariateDistribution, MultivariateDistribution, DiscreteDistribution, etc. I created a script test/types.jl to ensure that all sub-typing relations are preserved. This new type system breaks nothing (all tests passed easily) and makes it easier to write generic types and methods (the Truncated type now works perfectly).
Showing with 69 additions and 17 deletions