Tasks done and checked:
  (*) Smat created in garcha_mod.
  (*) int1 stores the overlap matrix both in Smat and RMM(M5).
  (*) Replace the usage of RMM(M5) for Smat in all* subroutines.
      (see notes).

Notes:
  (+) The usage of RMM(M5) as FockMat still remains in the following
      subroutines: SCF, SCFop, TD. Also in: dip2, int3G, int3lu,
      predictor (which never used it as Smat).
  (+) Each call to int1 checks if Smat is allocated and if it is not,
      then it allocates it. Though this method works, it would be
      better to allocate Smat and other related matrixes at lio init
      or similar initialization subroutine.
  (+) RMM(M5) is still calculated by int1 and used by the essl option
      (isn't this obsolete?) and by the magma implementation (which
      I understand has not been completed, so it should be adapted
      by the person in charge of that).

Future Tasks:
  (-) Take the transformation matrixes that come from S decomposition
      or diagonalization (that is, Lmat, Umat and inverses) and put
      them in garcha_mod. Adapt subroutines to take advantage of this
      (example: program a TransformFock(M,Fock) that transforms fock
      'from AO base to MO base').