Add 'initial-context' as a new constant.
Generalize the determination of many basic javascript types.
Add fn #attackable? that generalizes #in-check?; and create
additional parameters in #getPotentialMoves for the mixins 'king' and 'stepper'
to accommodate #attackable? as a passed-in argument.
Add two filtering fns #queenside-transitable? and #safe?
to ensure that castling only occurs when the B-file is not obstructed and
when no position in the king's castling path is attackable. Also, add further
parameters to the function #getPotentialMoves so that the 'game-sevice'
file can pass in a function that determines position safety.
Add specs to determine the permissibility of king castling.
Modify a test board for two reasons:
first, the absence of oppponents causes an error in the function
#vulnerable-positions-for in the 'game-service' file;
second, the absence of opponents is impossible as an opponent's king is
never removed from the board.