reassign keys, update neuralnet evaluator
in-place v operations
cache state moves, use state-hash as key, increase hash length to avoid collisions
use red-black trees for the tables to avoid memory spikes (and heap exhaustion) on resizes
back to the much faster hash-tables, use size estimation to avoid resizes
keep some statistics on moves-cache