Redistributed responsibilities to separate classes. SnorBot is in charge
of utilizing different strategies. PathMap contains a map with TileInfo
classes for all positions on the board, and lists of special sites.
TileInfo is a class that contains information about a Tile (distance in
that turn, shortest path).
Revamped the entire strategy.
Now based on a precalculated heatmap, where each tile has information
about its contents, how many steps it takes to reach it, and the stack
of directions to get there.
Error in the ShortestPath stack (one clone for four directions, but each
direction should have it's own clone of the stack), now properly handled
by cloning separately for each direction.