Fixed broken restart handling

* Added parent_type field to SimInfo allowing to differentiate between
  restart, fresh/init, and branched simulations in the output db

* Made SimInit::Restart sims record a separate entry for their run in the
  global sim Info table (previously they didn't). Restarted sims run with
  their own new simid - which is necessary so that when restarting from not
  the last timestep of a sim we don't get duplicate records for the
  overlapping range of timesteps.