Oil prices to stay low for two years: BP chief