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
At this point I've stopped reading the pull request because it seems to be mostly spacing changes.  I believe there are further substantive changes below, but I'd much rather review a new pull request that separates spacing changes from substantive changes.