McDonagh extends Rangers lead to three