Properly break the loop rather than return to ensure the connection is cleaned up.
Add initial restarting loop.
Ensure all the wrappers are available as we may need to recreate plugins later if they fail during runtime.
Reinitialize the plugin upon its death with a newly created one in a loop.
Add a log message so its easy to see that the runner is restarting the plugin.
Merge branch 'features/plugin-restarting' into features/amqp-plugin
Implement reconnect.