Add tests for the moveScan and moveList methods

This commit also slightly refactors the state and move
objects to no longer require the isCapture field