Collect legal moves for white.
Refactored to more logical code
Correct side usage.
Real player uses first-possible-move strategy