Completed the move gen testing style

This does not mean the testing is working. For some reason
std.algorithm.sort is not actually sorting the moves in the two
arrays. This is the reason the equal test on line 3461 is
not working. That is, the two arrays are compared item-by-item
in order and as soon as one of the items is not correct it
returns false.
Implemented a simpler debug API for MoveList

This is used for move gen testing at the moment.
At the moment none of the range API outside of the forward range
stuff is actually used.