tightening up context api

* removed model_list getters from context class. model list is now entirely context-private

* removed GetModelByName from context class. Changed it's only usage in
  region_model to use CreateModel instead and had xml_file_loader AddPrototype
  for all models to make this possible.

* Created context::KillModel method that should be used for all model
  deallocation/termination.

* Moved global model teardown/deallocation out of the timer::RunSim and into the
  context destructor.  This removed necessity for manual deletion of model
  pointers in all tests.

* Removed manual context::AddModel method.  Now all calls to
  context::CreateModel and context::AddPrototype automatically add a model to
  the model_list_.  Fixes #642.

Note there is a cycamore companion PR