Extension Methods from José María Calvo Iglesias
Fast version of the RemoveAt function. Overwrites the element at the specified index with the last element in the list, then removes the last element, thus lowering the
inherent O(n) cost to O(1).
IMPORTANT: Intended to be used on *unordered* lists only.