Fix logic on check and checkmate algebraic move generation, as well as moving move string generation to generator functions.