broad and comprehensive _is_movement tests

also brought a few changes to WILL_MOVE, WONT_MOVE
also assert TypeError for non-ints for things like term.move(1.0)