Rewrote varying rulesets to use templates rather than base classes, for efficiency and to vary on the storage class too. Also included beginnings of bitboard implementation.
Tests now fail but compile
WIP commit while debugging parameter-passing bug
Test suite passes
Change position to a more efficient representation