Infrastructure to allow for unit testing movegen

Added piece and move deserialization. Unpacking for the moves in  MoveList.
These changes combined with FEN deserialization let expected move values
that correspond with board setup positions to be added to the unit test
as text and then converted to Moves, etc. by the testing codebase.

NOTE: board.d will not compile as there is an error in the movegen unit test