Get finite support

@lileicc @cberzan Here I add the methods getFiniteSupport() to each distribution. This will be used for implementing Gibbs Sampling.
@lileicc Last time you told me to move the calculation outside setParams... Also, I don't think it is a good idea to calculate finiteSupport inside setParams, especially for distributions who have a huge finiteSupport, like Multinomial. Sometimes we don't need finiteSupport. So it is better to calculate it when never we use it, and then cache the finiteSupport so that we could directly return it the next time.