Change auto seed behavior in PerlinNoise source
The PerlinNoise source has a mode where if a seed is not set, it will choose a new seed every time it is executed. It did this by using the value 0 as an indicator to do this (and initializing the Seed to 0). However, there was a problem with one of the benchmarks that was specifically setting the seed to 0 and getting unexpected results.
Fix the problem by adding a separate, hidden member of the PerlinNoise class that keeps track of whether to generate new seeds or not.