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
Ask we discussed by Skype, my personal preference is for more densely packed code with less whitespace: modern IDEs with color coding provide plenty of visual separation, and the dense packing allows more code context to fit in one screen.  I understand that not everyone shares this preference, though.

If you feel strongly about alternative spacing, and want to make spacing-only changes, please do so in a separate pull request.  Wading through a mixture of spacing changes and functionality changes in the same large pull request mixes the issues unnecessarily.