Add tests for undoCore
Fix a copule of issues to compile
Review undoCore code

Rearrange to make it flow similar to makeCore.
Add pawn promotion handling.
Fix handling of castling moves
Uniformly use UFCS in undoCore
Testing of undoCore completed
Test Board.undo