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).
remove config gen'd file version.cc
added remaining nextid static vars to nextids tests
Added sim init agents+prototypes tests and corresponding fixes.

* fixed manual modules map in DynamicModule to map to agent constructors -
  necessary to allow the newly constructed agents to be on the new context -
  Clone doesn't work.

* changed initial id's from 0 to 1

* set agent id in Agent::InitFrom(Backend) method.

* explicitly set agent id in sim_init LoadPrototypes

* delete sim_init's dummy agent's after using them so they don't pollute the
  context.
added sim init build/decom load tests and fixed bugs
removed env.cc
fixed Snapshot doc comment to say 'beginning of next timestep'
added EXPERIMENTAL warning to sim_init restart method
tmp working on sim init agent resource inventory test
fixed bug where SnapshotInv method changed agent state by not repushing pop'd resources back to buffers
Fixed bugs for recipe and material loading.

* fixed loaded recipes to have correct id.

* fixed material loading to not filter by time because mats are only
  snapshoted once per state anyway - and the resource state id is already
  unique. Removed the time field from the MaterialInfo table.
added env and version.cc files to gitignore