Add an optional agent name

Note that once you're running multiple agents, you need to have unique log, pid,
init, and config files for them, otherwise things will get wonky real fast. So
unless they're either defaulted or set explicitly, the name will be generated
based the agent name.

Refactored configure action so the process is clearer.
Merge branch 'agent-names' into di