mixture model training added; EM for mixture model added

- EM for mixture model
- mixture model training
- unittest for mixture model with gaussian distributions 
Apart from checking `values.vector != NULL`, you should check that there's at least one element in the vector.