BP to pay $18.7 billion to settle Gulf of Mexico oil spill claims