Clarify and simplify code in Board

Changed the naming of a couple of local properties.
Removed redundancy in the move generation code by using a mixin.