Add GEM distribution and test it.

@lileicc @chrisgioia64 This is the GEM distribution (lengths matrix for the Stick Breaking construction). It is originally used for the HDP-LDA problem for PPAML CP4, but it should be also useful for other cases since it will be easy to implement Dirichlet Process using this distribution.
Is there a reason not to use `Util.TOLERANCE`?