move to immediate agent execution model so that different triggering methods (onMessage, periodic, or absolute time) can be established by the agent as to their execution.   In prep for janitor agent, add DELETE endpoint for messages.
move log to its own top level module to avoid startup issues with the service module loading before we are configured.  use naked find for system principal to avoid chicken and egg visibility problem.
update controllers to use encoded queries, move query and options decoding out to utils to be shared across controllers
centralize error handling in utils function