Array verification functions now templates
Use memcpy() instead of loop to copy array
Cleanup
VerifySortedUnique(): Increased reliability.

Relying on NaN for the detection of unique values is not working for
integers. Casting the double-precision NaN to ingeger gives 0, at least
on x86. Change instead to using indices of the array.
New test: SimpleSorts, InsertionSortBestCase
Insertion: Best case _is_ O(N).
Bug fix: Using NaN to keep track of the end of the sort is fragile.

"Clearing" the array elements using NaN is fragile; it works on doubles,
but not on integers (the NaN change to "0" during casting to integers).
Instead, declare the loop index "j" outside the loop, and detect if its
value is -1 at the end, meaning the loop ended without hitting the "break"
statement.
New test: SimpleSorts, InsertionSortWorstCase