John Swinney promises "every penny" of SNP donations will be well spent after former chief executive charged