added merge sort implementation in JavaScript

This implementation deliberately avoids using JavaScript array functions such as shift(). All array functions in JavaScripts are maps, so using it may add an additional O(n) complexity.