refactored a bunch of methods to be more flexible... allowing us to pass a given start_array to figure out things like manhattan_distance_array or manhattan_distance
added #try_moves method which provides the manhattan distance result for each possible direction
add #last_move to keep track of last move so we dont just move back and forth