Added functional bottom-up merge sort