Coupled-cluster and equation-of-motion coupled-cluster theories : applications to photochemistry and catalysis and algorithmic advances