Spermicides, microbicides and antiviral agents: recent advances in the development of novel multi-functional compounds.