add the numerical intregation base class
add the three subclasses
Merge pull request #2259 from yorkerlin/variational-likelihoods

the variational base class using numerical intregation