implement the functions fromListWith and fromListWithKey
rewrite the fromList function without using uncurry
Corrected excessively lazy benchmarks.
Implement partitionWithKey.
Implement partition.
Bring forceTuple to top level.

Also rename 'forceTuple (a,_,b)' to forceTriple.
Corrected delete/view min/max functions.

They had been leaving Empty internal nodes in the tree.
Corrected updateExtremity-based functions.

They had been leaving Empty internal nodes in the tree.
`fromAscListXX` and `fromDistinctAscList` implemented
`fromDistinctAscList` improved
`fromDistinctAscList`: Tree replaced by array
`followPrefixesByteFrom` introduced
`fromDistinctAscList` rewritten using right one-hole context
`followPrefixesFrom` made strict
`fromAscListWithKey` implemented using right one-hole context
`fromAscList_long` benchmark added
unionWithKey 3x speed up
unionWithKey and binarySetOpWithKey partially unified
Rewrote updateLookupWithKey.
Rewrote delete.