Comparator and fast clocks don't mix well so here is a complete clock only solution.
Setup:
/scoreboard objectives add Selector dummy
/scoreboard objectives add Marker dummy
/summon ArmorStand -262 3 113 {Silent:1,CustomName:"Tracker",Invulnerable:1,Invisible:1,Marker:1,NoGravity:1}
Clock:
/scoreboard players set @a Selector 0
/scoreboard players set @a[x=-262,y=3,z=113,r=1] Selector 1 {Inventory:{id:minecraft:stick}}
/scoreboard players set @e Marker 0
/scoreboard players set @e[type=ArmorStand] Marker 1 {Silent:1,CustomName:"Tracker",Invulnerable:1,Invisible:1,Marker:1,NoGravity:1}
/execute @e[type=ArmorStand,score_Marker_min=1] ~ ~ ~ tp @p[r=1] -268 3 113
This solution is really resource intensive, there may be a better one!
Actually i just simplified the problem to 2D, here's a working solution for 3D:
Once:
/scoreboard objectives add dir dummy
/summon ArmorStand ~ ~5 ~ {NoGravity:1b,CustomName:"move"}
Repeat:
/scoreboard players set @e[type=ArmorStand,name=move] dir 0
/execute @e[type=ArmorStand,name=move,score_dir=0] ~1 ~ ~ summon ArmorStand ~ ~ ~ {NoGravity:1b,CustomName:"move"
/execute @e[type=ArmorStand,name=move,score_dir=0] ~1 ~ ~ scoreboard players set @e[type=ArmorStand,name=move,r=0,c=-1] dir 1
/execute @e[type=ArmorStand,name=move,score_dir=0] ~ ~1 ~ summon ArmorStand ~ ~ ~ {NoGravity:1b,CustomName:"move"}
/execute @e[type=ArmorStand,name=move,score_dir=0] ~ ~1 ~ scoreboard players set @e[type=ArmorStand,name=move,r=0,c=-1] dir 2
/execute @e[type=ArmorStand,name=move,score_dir=0] ~ ~ ~1 summon ArmorStand ~ ~ ~ {NoGravity:1b,CustomName:"move"}
/execute @e[type=ArmorStand,name=move,score_dir=0] ~ ~ ~1 scoreboard players set @e[type=ArmorStand,name=move,r=0,c=-1] dir 3
/execute @e[type=ArmorStand,name=move,score_dir=0] ~-1 ~ ~ summon ArmorStand ~ ~ ~ {NoGravity:1b,CustomName:"move"}
/execute @e[type=ArmorStand,name=move,score_dir=0] ~-1 ~ ~ scoreboard players set @e[type=ArmorStand,name=move,r=0,c=-1] dir 4
/execute @e[type=ArmorStand,name=move,score_dir=0] ~ ~-1 ~ summon ArmorStand ~ ~ ~ {NoGravity:1b,CustomName:"move"}
/execute @e[type=ArmorStand,name=move,score_dir=0] ~ ~-1 ~ scoreboard players set @e[type=ArmorStand,name=move,r=0,c=-1] dir 5
/execute @e[type=ArmorStand,name=move,score_dir=0] ~ ~ ~-1 summon ArmorStand ~ ~ ~ {NoGravity:1b,CustomName:"move"}
/execute @e[type=ArmorStand,name=move,score_dir=0] ~ ~ ~-1 scoreboard players set @e[type=ArmorStand,name=move,r=0,c=-1] dir 6
/execute @e[type=ArmorStand,name=move,score_dir=0] ~ ~ ~ kill @e[type=ArmorStand,name=move,r=0,score_dir_min=1]
/execute @e[type=ArmorStand,name=move,score_dir=1] ~ ~ ~ kill @e[type=ArmorStand,name=move,r=0,score_dir_min=2]
/execute @e[type=ArmorStand,name=move,score_dir=2] ~ ~ ~ kill @e[type=ArmorStand,name=move,r=0,score_dir_min=3]
/execute @e[type=ArmorStand,name=move,score_dir=3] ~ ~ ~ kill @e[type=ArmorStand,name=move,r=0,score_dir_min=4]
/execute @e[type=ArmorStand,name=move,score_dir=4] ~ ~ ~ kill @e[type=ArmorStand,name=move,r=0,score_dir_min=5]
/execute @e[type=ArmorStand,name=move,score_dir=5] ~ ~ ~ kill @e[type=ArmorStand,name=move,r=0,score_dir_min=6]
Best Answer
Since a redstone timer method is allowed, here's my solution.
More information:
It's probably possible to get the redstone much more compact than this, but I'm not too good at that.
EDIT: Spent about an hour compacting and writing instructions to re-create this 2x4x10 design:
It's 2 blocks wide, but you'll need to leave a space in between if you want to tile these. I'm not going to keep trying for a tileable version with no gap, but I'm sure it's possible.