Decoupled StrictMoveCommand from using a list of strings
Refactored move to not display state
-allows for seperate promotion move
-allows logic being moved into move class
Refactored representation of move