Refactor template tuneables

These changes are quite big, but they add a lot more flexibility (and hopefully little 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 ge 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, I can extend it to the agent as well.