Evolutionary Training and Abstraction Yields Algorithmic Generalization of Neural Computers