SteppingData: Do not include Population instance in the object, more extensive record() method signature

Our goal is to use SteppingData in single mode too.
Population.evalfun(): Move to FInstance, more appropriate and available for single.py
SteppingData: Move from population to the methods module
examples/single.py: Maintain SteppingData to record algorithm iterations