Sorts seq using cmp_func.
cmp_func is passed two items of seq and should
return 0 if they are equal, a negative value if the
first comes before the second, and a positive value
if the second comes before the first.
the function used to sort the sequence
user data passed to cmp_func