Output format plugin

This is early work. I just wanted you to have a peek to the direction this is turning into.
I'd rather not. It makes no sense to have YAML for everything but csrf tokens. It forces clients to support JSON, and that is against the spirit of this pr.

I'll have a custom delivery that skips the `prepare ` method.