serial and parallel merge sort framework (still has bugs)