Mixture driver

This factors out a generic `MixtureDriver` from `PitmanYor`.

New clustering models should be able to simply use the pattern

    class MyClusteringModel
    {
        typedef MixtureDriver<MyClusteringModel> Mixture;
    };

see also https://github.com/priorknowledge/loom/pull/3