BP has reported its profits more than doubled in the first quarter, as traders cashed in on soaring oil prices triggered by the Iran war.