Multiple handlers and generators, improved config syntax

Config now allows for each generator or handler to provide its own config block. This alleviates some problems with namespacing. Multiple generators/handlers can now be provided.

This also adds an `exec` generator, a `file` generator, and gets rid of the `json` and `yaml` providers since they are confusing.