Got SimInit NextIds test working.

* 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.