[COMMODITY] Fix for issue with wrong detection of 'children' in tree
[COMMODITY] Fix for issue with wrong detection of 'children' in tree

*ORIGINAL ISSUE DESCRIPTION:*

Original issue was caused on '8536501100'.
Issue was in 'next_sibling' detection.
First fix attempt was done in [PR#194](https://github.com/bitzesty/trade-tariff-backend/pull/194)
But, unfortunatelly this fix caused issue on 'children' detection for other commodities.
So that we had to revert this fix in [PR#226](https://github.com/bitzesty/trade-tariff-backend/pull/226)

*WHAT'S WE DONE IN THIS PR:*

Instead of trying to make complex SQL for Commodity#children method we are going by another way.
I noted that we already have good commodity tree discover class GoodsNomenclatureMapper.

We made benchmark on production of how fast would it take to use GoodsNomenclatureMapper
for fetching 'children' tree for defined Commodity and here are results:

```
Benchmark.measure { GoodsNomenclatureMapper.new(heading.commodities_dataset.eager(:goods_nomenclature_indents, :goods_nomenclature_descriptions).all).all }
=> 0.610000   0.160000   0.770000 (  1.833092)
```

So, average value is `1.5` seconds, which is not much more than previously used complex SQL did.
Another good point of using this way is that we will have children fetching code in one place `GoodsNomenclatureMapper`.

[TRELLO STORY](https://trello.com/c/VOrEAwts/441-tariff17-duplicate-commodity-codes-in-search-box-and-non-declarable-commodity-clickable-searchable)

bitzesty/trade-tariff-backend,bitzesty/trade-tariff-backend,bitzesty/trade-tariff-backend