Initialize mLastSimulateCallTime.

Now that it's up to the script to call countdown_to_next_phase(),
GameSession::SetSimulationTime() may never be called, which results in
the first call to Simulate() to last a really long time (effectively
freezing the game).
Call countdown_to_next_phase from the rulebook.
Call OnSessionEnd on the SessionPeer on exit.

This used to be called when the race finished.  Now, the session only
really goes away when the scene goes away.