BP slumps to $20.4bn loss as it books cost of Russia exit but oil and gas profits soar