The chemistry of hydroxylamines, oximes and hydroxamic acids