add the numerical intregation base class
add the three subclasses
update the varational likelihood for KL inference
fix the memory leak issue
add the base class for KL methods