Red Bull was beaten for the third-straight race in Budapest, where a dominant McLaren used team orders to hand Oscar Piastri his maiden Grand Prix win.