kernel selection for linear time mmd for modular interfaces

Towards having a nice example under python_modular
Includes minor overall changes on the classes