simulate() now returns simulation, not exit code. exit code embedded in
simulation object now.
Update unit tests