Implemented recursive insertion sort (as per 2.3-4) along with some unit tests