Change abstract classes into modules
Implement AO::Gaussian::Contracted *
Reimplement methods using AO::Gaussian::Contracted#*
Implement Gaussian::Contracted::Product#electron_repulsion
Fix bug in PrimitiveProduct#electron_repulsion_integral
Merge branch 'feature/contracted_product' into develop