Shuffle with tests.
merge sort with tests
Refactored sorter with OCP. Cleaned up test code.