Synthesis of Purine Derivatives as Scaffolds for a Diversity of Biological Activities