Change Move implementation to fix #16.

Modify the Move implementation, we switch from a dictionary to the use
of attribute. It makes the code more understandable and avoids
conflicts between the get item from and the move and the one from the
dict.

We also add an iterpositions() to separate the iterator from the list
copy.

Fixes #16.