Add with_gear_rotation helper

Add new with_gear_rotation helper method that rotates out, yields, then
rotates in each gear

Convert restart to use with_gear_rotation