Marathon Petroleum to buy Andeavor for more than $23 billion