add pdf static function in GaussianDistribution
update unit test for GaussianDistribution
minor fix
update the base class
add the header file
add the basic cpp file
add the set_distribution method
add the precompute  method
add the get_variational_expection  method
add the get_variational_first_derivative  method
complete the get_variational_first_derivative  method
minor fix