Renames #slide to #slide!

Changing the state of the grid seems to be less than desirable for implementing A* search, so I repurposed `slide` as`slide!` and created a nondestructive `slide` that returns a deep copy of the result using `Marshal`.
Adds/updates tests for #slide!/#slide