Cruz beats Trump in Iowa presidential race, Rubio takes third