Updated gitignore
Algorithms: Merge sort code improvements

Switched to using pointer math
Algorithms: Merge sort code improvements

It now selects between two implementations, one using regular assigns
and the other using a partially inlined move.

Simple types (integers, floats etc) uses the regular method, while
complex types uses the move version, which prevents reference count
changes.