Input output plugin and plugin registration

I have added the restack_input_output_formatter which is designed to format output data.
I also envision it parsing the incoming data as JSON might not be what you are wanting to use.

Note when adding a plugin I found it extremely cumbersome to setup and register a new one so I have changed the code to register plugins from a standardised list, or override using the settings. It then also automatically registers and additional plugins.

Middleware has been moved to a similar implementation but still requires definition as the middleware affects the whole app.