Implemented `fromAscList` and `fromDistinctAscList`

This implementation is suffering from ineffective duplicates removal in `fromAscListWithKey`and not optimal usage of common prefixes in `fromDistinctAscList`.

Anyway, all functions runs in linear time both by the number of keys and total key length: _O(n+K)_.

__Note__ `Data.Map` functions runs much faster, because it does not not looks at keys at all.