updat the interface
bug fix
add dual likelihood
update the existing KL methods
update the unit test
update the existing kl methods and dual likelihood
Merge pull request #2350 from yorkerlin/develop

update and add dual likelihood