Fix getValidPreEvolutions not decrementing level (the evo level is the
actual value, not 1 for levelup.
Did some performance analysis and optimized a little; the Valid Moves
are now only obtained once instead of 4 times in a loop; used a list to
hold the moves instead of constantly ToArray() which is a little
computation intensive.