Oscillatory behaviour of the reduction of nitric oxide by ammonia over the Pt(100) single-crystal surface: the role of oxygen, comparison with the NOH2 reaction and a general reaction mechanism for NO reduction by NH3 over Pt