Deep-symbolize config hash

About to have nested options up in here.
Add completion criteria

The `Victory` classes are responsible for knowing when the game is over and who
has won. They must implement `#score`, and probably want to implement `#done?`
as well.

We may want to update players' scores each tick to pass as information to their
`Agent`s or just show on a leaderboard during games.
Fix box setting

Should have been using the provided world, not the instance variable. This could
probably be a class method.
Find longest box chain

This does a depth-first search from each `Player`'s `SpawnPoint` to find the
longest chain of boxes they've constructed. It marks spaces to avoid loops, and
unmarks them during backtracking to explore possibly longer paths later.
Deal with ties and print winner(s)

When the game is done, we print the scoreboard, including which agents were
running.