message: Iterate to retire people one at a time
  This allows disivion of new retirees between workers and scientists, in
  the same turn. It also means we don't draw from a role that has 0 people
  left.
diff: @@ -71,10 +71,17 @@ void Population::spawnPopulation(int morale, int residences, int nurseries, int
  mPopulation.child -= newRoles.student;
  mPopulation.student -= (newRoles.worker + newRoles.scientist);
  + for (int toRetire = newRoles.retiree; toRetire > 0;)
  + {
  /** Workers retire earlier than scientists. */
  auto& retireRole = randomNumber.generate(0, 100) <= 45 ?
  mPopulation.scientist : mPopulation.worker;
  - if (retireRole > 0) { retireRole -= newRoles.retiree; }
  + if (retireRole > 0)
  + {
  + --retireRole;
  + --toRetire;
  + }
  + }
  }
  