Delete drivative order from AO::Gaussian::Primitive
Define class AO::Gaussian::Primitive::Product
Reimplement Primitive#overlap using PrimitiveProduct

[ci skip]
Fix argument order

[ci skip]
PrimitiveProduct#hermitian_coeffs should return a Float

[ci skip]
Spec helper method E(t,i,j)

[ci skip]
Refactor specs for PrimitiveProduct#hermitian_coeffs

[ci skip]
Spec for PrimitiveProduct#center
Add Vector#r2 method

[ci skip]
Fix PrimitiveProduct#overlap_integral