TT move take 2

Ignore the spam of commits which get reverted, only cc09364 counts.

This keeps the search exactly the same, but introduces a few new things to the Position class.

Hopefully it will be a little easier to read despite the kludges in there.

Matthew:out