Implement merge_sort, it receives an unordered ARRAY and returns an Ordered ARRAY using mergesort algorithm

* Called function merge_sort because mergesort is already defined in stdlib.h
* Include string.h to use memcpy
Free temporary ARRAYs data after using it