warning infrastructure
added decay warning, closes #847
added const signatures as private functions to give compile time failures
python3 removes json encoding keyword arg from dumps func
moved requests and bids mostly into test context in order to clean up memory issues
some final create cleanup
cleaning up inst tests
updated comment wording
Merge pull request #860 from scopatz/warn

warning infrastructure
Updated Python version
Updated libxml++ version
Merge pull request #862 from rwcarlsen/json3

python3 removes json encoding keyword arg from dumps func
Merge branch 'dbp2' of https://github.com/gidden/cyclus into gidden-dbp2
Merge branch 'gidden-dbp2' into develop
Merge branch 'trackid' of https://github.com/rwcarlsen/cyclus into rwcarlsen-trackid
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.