removed `to_run` callback from session

its too complicated to support the session controlling when
the inferior is run, so that capability was removed. now it
simply gets a callback when the session starts and can set
the `finished` flag when it wants the session to end. also
there is a limit parameter to the session constructor which
limits how many times the inferior runs.