Steps towards testing the interface and not the implementation. Eventually all instances of InteractiveBoard will be replaced with IBoardExtended in the tests.
Fix bug where a supplied invalid king move would be interpreted as an attempt to castle, causing a NRE when validating the move for check. Fix is to validate move before considering whether it violates check.
More work to make the tests clearer and use the interface methods only.
Merge branch 'BugFixes'