Replace building a Move with the Move struct itself with a MoveBuilder that builds a Move and returns it. Update the tests and move formatter.