Kinder Morgan to buy terminals from BP for $350 million