Remove some unnecessary code duplication
Clean up imports to bitboard
Explain where the results go
There is no this pointer in static function calls
Remove the generic attack boards from the bitboard module

The idea is to reduce the register pressure by moving them inside
of Board to give access to the position bitboards directly.
Remove some unnecessary code duplication
Rename the bitboard test data containers
Move the generic attack calculators to the board module
Implement check evasion move generation
Improve the generic attack calculator testing
Merge pull request #51 from joichiro/legality

It remains to be seen how check legality is actually going to be used by a search function so a simple version is implemented in this pull request.

Work needs to be done to test the generic attack boards for the case when a friendly piece is blocking the source piece. However, no simple algorithm is currently presenting itself so proceeding with other work.