Desplazamiento circular a la izquierda y a la derecha

Implementa desplazamientos circulares a la izquierda y a la derecha para un arreglo de enteros. amount puede ser mayor que la longitud del arreglo y nunca es negativo.

Ejemplo

Program.LeftShift(new[] { 1, 2, 3, 4 }, 1) ➢ new[] { 2, 3, 4, 1 }
Program.RightShift(new[] { 1, 2, 3, 4 }, 1) ➢ new[] { 4, 1, 2, 3 }