ASYM20: A Program for Force Constant and Normal Coordinate Calculations, with a Critical Review of the Theory Involved