[cluster] Improve tests and bugfix variational

o fix init of nu
o regularize N_comp to avoid inf
o replace some loops with einsum
o rigorous test of variational bayes (not VB merge)
[cluster]  - removed __iter because python automatically does what
             is written there when __getitem__ is defined
[cluster] Fix two bugs in variational

o independent copy of inv_W0
o check for improper precision matrices
o ensure symmetric positive definite sample covariance
o add 'slow' attribute to a unit test
(wip)[variational] Improve stability and usability of variational

o PEP8, default values in doc
o equation numbers to implementations
o add E step at the end of prune()
o add run() method that does convergence checking etc.
o rewrite _update_log_rho() stepwise for better stability and in-place modification
o reset prune test case to old init of nu, fails. Have to understand why.
[cluster] bugfix vbmerge finally

o correct q(Z) expectation in bound according to Bruneau's implementation in the R package vbmix
o store every part of the bound calculation for checking
o fix test case broken in previous commit with 'copy_weights' option in VBMerge
o check bound by hand for all but the part that was wrong :)
o check user input for nu
[doc/conf.py] version is now read off file _version.py
[cluster] Clean up variational

o sort methods alphabetically
o rename self.*expect* -> self.*expectation*
o improve text output
[cluster] Improve speed

o covariance determination slowest part for medium to large N => modify arrays in place
[markov_chain]  - bugfix in _get_log_rho_metropolis_hastings
[markov_chain] - bugfix: merge between log_target and indicator corrected
[indicator_factory] extracted from markov_chain to be a standalone submodule
[markov_chain]  moved method "_merge_target_with_indicator" to _tools._chain
[pmc] introduced submodule pmc

o introduced proposal functions
o introduced importance sampler