make move follow a straight path along the given vector

Example:
  move(10, 2):
   old_way: step(1,1), step(1,1), step(1, 0) …
   new_way: step(1, 0)…step(1,1), step(1,0)…step(1,1), step(1,0)…

This makes moving a specified amount act as expected.

add printArray for uint_8, int, long