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 see your point, but I think subclassing if you just want to tell the handler to consider only a specific subset of a domain as candidates is not very user-friendly, because then the user would have to understand the implementations in detail and would basically need to rewrite a whole handler just to change code for candidate selection. This would make most of the default handlers not useful at least in my applications. 
The samplingCandidates were not a function to tensor in my code anymore, maybe I forgot to push that.