An intramolecular immonium ion variation of the Diels-Alder reaction: synthesis of (.+-.)-dihydrocannivonine