Utils module.

Start moving methods into a general module.
Add support for agent namespacing.

The agent needs to be put in a directory that matches agent's namespace.
Better error reporting if class does not match the filename.

The agent is started by using the agent filename to determine the class
if there is a mismatch then the agent can't start. This logs a sensible
error message explaining why the agent didn't start.
Allow an agent to be killed if it's in the checked state.