Bug fix: Set all values of the "to_sort_data", not just the first element.
Inlcude <utility> to access std::swap()
Bug fix in VerifyIfOrdered(): Verify that previous value is not less than the next one.

If two successive values are equal, the function was returning false,
meaning it detected an unordered array, which is not the case. Two elements
can be equal.

Also, instead of comparing "i" (current) and "i-1" (previous), the comparison is
done on "i-1" (previous) and "i" (current).
Detect bug fixed in previous commit (051c021).
Cleanup
Fix cmake: Add target "test" (run unit tests) and "vtest" (run through valgrind)