Add an optional agent name

The main reason to add an agent name is if you have multiple cookbooks/recipes
that are each trying to configure the plugin agent for a specific component, the
current approach of using a string for the configuration file doesn't compose
very well. The agent name allows you to configure multiple instances of the
plugin to run; you pay a _little_ bit more in memory consumption, but get a lot
more flexibility.

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.
You're right. Mmh, there must have been a reason to do it this way, so we better keep it (or investigate more and change it everywhere, this could be addressed in a different PR).