Binary Insertion sort, use Buffer.BlockCopy for large data movements