clarify SimInit::Init doc comment
made shell for snapshot/init/restart tests. Added SimInit NextIds test.

* made dynamic module friend to SimInit so it can manually inject reference
  agent instances for testing that don't have to be dynamically loadable.
  This allows the SimInit class to still use DynamicModule::Make despite there
  not being any .so libs for test facilities.

* Made SimInit::SnapAgent public.  This method could be useful for various
  hackish purposes - and enables finer-grained testing of sim init to boot.

* made the SimInitTests setup and teardown all correct.
Made sim init more robust with non-existing tables. fixed restart bug.

* Added try-catches around queries for tables that might not exist (e.g.
  Recipes, CommodPriority

* Added ExitTime comparison check when loading initial agents - previously,
  only agents that were never decommissioned were loaded as opposed to all
  agents that haven't been decommissioned as per the current sim init time.
Added recipe snap/load testing to sim init tests.
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.
Added sim init ctx->sim_info test. Changed test's recorder to be on stack.
added sim init restart tests and fixed bugs found by it.

* Added restart test that checks for expected vals of context's sim info,
  time, etc.

* sim init tests remove any potentially existing test db file at beginning of
  setup.

* Timer checks if there is a branch time, if so, sets the initial time_ to be
  it.

* context InitSim method now properly assigns the passed SimInfo to its
  internal sim info var.
fixed bug where prototype init incorrectly used SimTime filter.

Also removed now unnecessary recorder dump-count resizing - the recorder
default is large enough.
Fixed uninitialized parent sim id bug.

Previously parent sim id wasn't initialized and ended up being garbage by
default.  This makes the default parent dim id be the nil (all zeros) uuid.
The implementation needed to go in the .cc file because the
uuid_generators.hpp file had something in it that tripped up our code
generation (something to do with namespaces).