Out of process plugin framework patches

PR for the patches to create out of process plugins along with DLL plugins. The advantage of this architecture is that if any of the plugins misbehave (stuck, crash etc.), the other plugins processing will not get affected