extract a .pos method in Move

So that we can easily ask for positions.
remove stale predeclarations

These were needed at some point, but not any more.
move up swap showing logic

Discovered while printing a move-0 board. This logic needs to
fire before some of the other conditions, otherwise it will
never trigger.
yet another s/self/$/

I just think it reads better.
introduce the concept of chains

A chain is any adjacent group of same-color pieces on the board.
add default stringification of moves

They stringify to the things they parsed from.
fiddle around with chain naming a bit

They now get names like 'chAwh' instead of 'chA'. Not sure I like
better how it looks -- but it does have the advantage that we never
wrap around from 'chZ' to 'chAA'.
add a reminder to add in the edge chains
solidify chains, with tests