The intramolecular Diels–Alder reaction: recent advances and synthetic applications