population.py: Add end_iter() call to allow tracking complex multi-step iterations
Population: Do not raise f.evaluations when taking f's value in step_one()

We just recently evaluated the function in just this point so we are not
cheating, this is just to accomodate black-box methods.
population.py: Record detailed stepping information to .mdat file