Becton Dickinson agrees to buy Bard for $24bn