serf: Clean up FREE WALKING state.

Split into two functions, rename variables and add some comments explaining the direction arrays.