Yara buys Terra for $4.1 billion