Test how makeCore handles castling moves

Care has to be taked to maintain the invariant after the call to
makeCore. That is why the castling flag in status is reset after
the calls to makeCore. If this is not done then the invariant will
fail on the calls to the indexers.
Test makeCore against regular moves
Test makeCore against enpassant captures
Test makeCore against pawn moves

Pawn moves tested include
 - forward one
 - forward two
 - capture
 - the forward one and capture move tests include promotions

Adjusted makeCore to accurately handle pawn promotion moves.