+ Modify unit test to allow testing of multiple sorting algorithms.

+ Fix bug in unit test such that we ensure that there is a one-to-one
  correspondence between elements in the unsorted and sorted arrays.
  Previously, we weren't taking into account duplicate values, which
  appear in a contiguous block in the sorted array.  Thus, if a value
  appeared multiple times in the unsorted list, but at least once
  in the sorted list, it would pass the test incorrectly.

-- daf