Minor code simplification.
Make StringBuilder final.
Follow java conventions for constant naming.
Minor code simplification.
Correct javadocs and add a TODO.
Rename variables "top" to "first", reflecting new data structure.
Make PersistentList.of( E... ) behave more intuitively, ordered first to last.
Test toString() on a PersistentList with one element.
Test Walk.append( V ).
Utility classes can be final.
Some constructors can be private.
Make variables final when possible.
Use a constant for repeated use of empty expected walks.
Use constant for empty int[].
Turn on all -Xlint warnings.

Also configure the compileTestJava options, which do not inherit from
compileJava.
Fix some compiler warnings.
Use non-deprecated debug options.
Add source encoding option.
Add some explanatory text to the class javadocs.
Cache the result of PersistentList.reverse() and be thread-safe about it.