Update BoardInfo

Renamed BoardInfo to BoardStatus
BoardStatus maintains information described in the FEN spec other
than the "piece placement".
blackToMove encodes the "active color" value.
Castling availability is encoded as four separate boolean values.

The new layout is as follows

BoardStatus :: 32 bits
  blackCanCastleShort :: 1 bit [0]
  blackCanCastleLong :: 1 bit [1]
  whiteCanCastleShort :: 1 bit [2]
  whiteCanCastleLong :: 1 bit [3]
  blackToMove :: 1 bit [4]
  enpassantTargetSquare :: 6 bits [5, 10]
  halfMoveClock :: 6 bits [11, 16]
  fullMoveNumber :: 14 bits [17, 30]

The side to move is encoded as a boolean to keep logic that uses it simple.
Square coordinates are now simplified to be encoded as 6-bits (0 for A1 to
63 for H8; see coordinate.d)
Piece values are encoded as 4-bits (12 piece types plus 1 empty piece value
can fit in a nibble; see piece.d)
Although Coordinate and Piece are small (6 bits and 4 bits, respectively)
they are defined to normally fit in a processor word as normally packed encoding
is not necessary. Special structures will be used for bit-packing later
to handle sizing of these values so that memory is not needlessly wasted.
Based on usage metrics after the initial implementation is tested this may be adjusted.