Don't assert if ri > N+1

For array size of 9 (and probably others), the last element in the array
is always alone, so ri gets incremented a lot; this is expected.
New macros: VALIDATE_SORTING() and SORT_AND_VERIFY()

SORT_AND_VERIFY() will call the sorting function, do some output
if asked and then call VALIDATE_SORTING(). The latter performs
the different tests required for validation.
Use the SORT_AND_VERIFY() macro to cleanup code duplication.
Cleanup duplicated test
No need to set random values if we set specific values
Cleanup
Array sizes from 1 to 16
New macro: VERIFY_RANDOM_ARRAYS()

The new macro will create arrays of different sizes, up to Nmax, and
put random values in them. It will then call SORT_AND_VERIFY() on the
arrays.
Comments
Pass verbose to testing macros. Rename VERIFY_RANDOM_ARRAYS() to VERIFY_SORTING_RANDOM_ARRAYS()
New macro VERIFY_SORTING_FIXED_SIZE_ARRAYS()
Use VERIFY_SORTING_FIXED_SIZE_ARRAYS()
New macro: VERIFY_SORTING_FIXED_SIZE_ARRAYS_AND_COMPARE()

Macro will sort a fixed size array and compare the results with
a reference, sorted elsewhere, for validity.
New test: EfficientSorts, MergeSortKnownResult

Sorting obtained with octave 3.8.0's sort().
Formatting
Pass the type to the testing macro so other types then double can be used
Same tests for ints as for doubles
New macro: VERIFY_SORTING_SORTED_ARRAY()

Create an already sorted array and test sorting function on it.
New macro: VERIFY_SORTING_INV_SORTED_ARRAY()

Create an inverted sorted array and test sorting function on it.
Use new macros to test merge sort