Duke Energy to buy Piedmont Natural Gas for $4.9 billion