Making Position, Move first class objects. Adding a MoveGenerator to be responsible for generating moves.
Fixed compile errors and isolated details of BitBoard within the class.