Re-implementation of collapsed gibbs sampler handlers + cleaning

* re-implementation of collapsed gibbs sampler without handlers, based on sampling from factors only
* removal of Categorical Factors, because they can all be represented by Discrete Factors using DiscreteVar as child and/or parent type
* resolves issue #178
* small tests were conducted for training LDA and it worked
* still a little bit slow compared to the efficient LDA implementation, but at least as fast as previous implementation of collapsed gibbs sampling
I thought all of the previous handlers were simply special discrete handlers. I will include GeneratedVarCollapsedGibbsSamplerHandler in the clean version. Otherwise, I just wanted to replace these special handlers by a more general handler that can handle basically all discrete cases.