The chemistry of diazonium and diazo groups