Moved merge sort into src folder.
Sort method now throws IllegalArgumentException when given null.
Throws Illegal Argument Exception if given list contains null element
(i.e. fails early).
Changed MergeSorter methods to static class methods. There's no reason
for them to be associated with a particular instance of MergeSorter.
Added Doubling Ratio test which is bastardised from the ThreeSum
examples.
Replaced < with compareTo method. This will compare the natural ordering
of the two objects (Integers) and return 0 if they're equal, < 0 or > 0
if this Integer is less than or greater than the argument respectively.
Fixed comparison bug so that if the elements are equal, the relative
order is preserved (i.e. left element before right element). This is an
invariant that's expected of Merge Sort and one reason it's preferred
over Quicksort. The reason to preserve relative order of otherwise equal
elements is that they could have been pre-sorted by another criteria
(e.g. sorted by first name, then last name).
Documented merge method.
Clarified that merge returns a new list.