Moved RegisterAgent into DoRegistration method. made RegAgent methods private.

* Rather than having to remember to register agents everywhere we create
  instances, the DoRegistration method is for things that need to happen every
  time an agent instance comes to life - regardless if that was by db init or
  from new creation.  Moved RegisterAgent code out of all places and into
  Agent::DoRegistration.

* Fixed bug where Facility class didn't call Agent's DoRegistration method.

* Made [un]registerAgent methods in context private because the Agent class is
  already friends with the context and these methods should only ever be
  called by the kernel.
DoRegistration->EnterNotify
Merge pull request #838 from rwcarlsen/tweak

follow up to #836