Bugfix and refactor BestMoveResponse parsing code

"score mate 12" would parse as mate in one due to it containing "score
mate 1"