Completed data decomposition parallelization

Breaks up the unsorted list into 4 sublist and orders them
concurrently. The list is merged together twice in parallel to
produce the final sorted list.