adding random seed functionality

This functionality is made to match a behavior that was factored out, enabling experiments on different seeds for the random number generators. I was unsure of the line initializing `rstate` in `vsm/model/_cgs_update.pyx`, as I have not worked in cython before.

Throughout the implementation I had to use a default value of 0, since cython would not accept "None" for `int seed`. Additionally, I added the functionality back to the original `ldafunctions.cgs_update()` and added the `indicies` kwarg, enabling the two commands (cython and native python) to be switched easily.

The pull request should be merged into general-refactoring first, and should be properly marked in GitHub.