Refactor template tuneables

These changes aren't backward compatible, but they add a lot more flexibility (hopefully without added complexity) to how you can configure your Logstash server.

It allows for three things:

* Set a custom `--config` argument to - for example - use globbing to find all config files
* Define hash of directories to be created
* Define hash of templates to be compiled

It sets some sane defaults for both directories and templates (like owner, mode, action), but they can all be overwritten on a per-object basis.

I've only added this for the server right now, as I don't use the default agent (using Beaver instead). If you like this, and there is a need for it, I can extend it to the agent as well.