Removed type assertion recover() to become an instance of error as a panic may result in recover() returning a simple string
added the start of testing buggy plugins which actually panic
added init test for pluginwithglobal
added testcase around a panic'd PluginWithGlobal.InitOnce