Calculate the target bitboards instead of redefining

The work on this commit will serve as the pattern to follow for
the other changes.
Update the rest of the empty bitboard data sets
Add a new bitboard ctor to simplify some code
Remove some more test data sets that can be calculated
Use bb as a property
Remove the rest of the unnecessary test data sets

Also cleanup the test code.
The pattern to follow to test the flood-fill functions

For iteration, the reason the source square is pulled from each
friendly/opponent container rather than just iterating through
all squares on a board is that there are no values in some of
the ray slots and doing so then results in an out-of-range error.
Finish all tests for rook
Finish all bitboard tests for bishop
Finish the flood-fill tests for queen
Use more immutable where possible
Rearrange some of the tests
Remove the formatting on the preconditions
Test the multi-value bb ctor
Merge pull request #80 from joichiro/bbtd

Construct the bitboard test data from the new common data sets